import { MessageTransport, RequestMessage, ResponseMessage } from '../MessageTransport';
export declare class DirectTransport<T, R> implements MessageTransport<T, R> {
    private connectedTransport;
    constructor(transport?: DirectTransport<T, R>);
    getConnectedTransport(): DirectTransport<T, R>;
    send(message: RequestMessage<T> | ResponseMessage<R>): Promise<void>;
    onReceive(receive: (message: RequestMessage<T> | ResponseMessage<R>) => void): void;
    private receive;
    private handleReceive;
    close(): Promise<void>;
}
