import { IncomingMessage, ServerResponse } from 'http';
import { Provider, Router, Transport } from '../../models';
import { HttpRequestContext } from './context';
import { IServerContext } from '../../types';
import { HttpExecutor } from './executor';
export * from './executor';
export * from './context';
export declare const buildHttpListener: <T extends IServerContext>(router: Router<T>) => (request: IncomingMessage, response: ServerResponse) => Promise<void | HttpRequestContext | ServerResponse<IncomingMessage> | null>;
export declare class HttpTransport extends Transport<HttpExecutor> {
    executor: HttpExecutor;
    compileContext(provider: Provider, request: IncomingMessage, response: ServerResponse): Promise<HttpRequestContext>;
}
//# sourceMappingURL=index.d.ts.map