///
import * as Component from '../Component';
import * as QueryBus from '../QueryBus';
import { Query } from '../Query';
import { Reply } from '../Reply';
import * as http from 'http';
export declare type queryHandler = (query: Query) => Promise;
export declare type Mode = 'client' | 'server';
export interface Subscription extends QueryBus.Subscription {
}
export interface Response extends http.ServerResponse {
}
export interface Request extends http.ClientRequest {
}
export interface props extends Component.props {
mode: Mode;
HTTP: Config;
}
export interface Config {
port: number;
host?: string;
}
export declare class Transport extends Component.Component implements QueryBus.Transport {
protected mode: Mode;
protected config: Config;
protected server: http.Server;
protected queryHandler: queryHandler;
constructor(props: props);
start(): Promise;
serve(handler: queryHandler): Promise;
request(query: Query): Promise;
stop(): Promise;
}