import { Event } from '../utils/event.js';
export type ConnectionWriter = (data: Uint8Array) => Promise<void>;
export type ConnectionReader = (cb: (data: Uint8Array) => void) => void;
export interface MessageTransportProvider {
    readonly id: string;
    createTransport(url: string, headers: Record<string, string>): MessageTransport;
}
export interface MessageTransport {
    readonly id: string;
    write: ConnectionWriter;
    read: ConnectionReader;
    dispose(): void;
    onReconnect: Event<void>;
    onDisconnect: Event<void>;
    onError: Event<string>;
}
//# sourceMappingURL=transport.d.ts.map