import http from 'http';
import express from 'express';
import { ILogger } from '@microsoft/teams.common';
import { HttpMethod, IHttpServerAdapter, HttpRouteHandler } from './adapter';
/**
 * Express adapter for HttpServer
 *
 * Handles Express-specific HTTP framework concerns:
 * - Express app creation and middleware setup
 * - Route registration via Express routing
 * - Request/response data extraction and sending
 * - Server lifecycle management
 */
export declare class ExpressAdapter implements IHttpServerAdapter {
    readonly get: express.Application['get'];
    readonly post: express.Application['post'];
    readonly patch: express.Application['patch'];
    readonly put: express.Application['put'];
    readonly delete: express.Application['delete'];
    readonly route: express.Application['route'];
    readonly use: express.Application['use'];
    protected express: express.Application;
    protected server?: http.Server;
    protected logger: ILogger;
    protected onError?: (err: Error) => void;
    constructor(serverOrApp?: http.Server | express.Application, options?: {
        logger?: ILogger;
        onError?: (err: Error) => void;
    });
    /**
     * Register a route handler for a given HTTP method and path
     */
    registerRoute(method: HttpMethod, path: string, handler: HttpRouteHandler): void;
    /**
     * Start the server listening on the specified port
     */
    start(port: number | string): Promise<void>;
    /**
     * Serve static files from a directory
     */
    serveStatic(path: string, directory: string): void;
    /**
     * Stop the server and close all connections
     */
    stop(): Promise<void>;
}
