///
import "clarify";
import { Duplex } from "stream";
import { ChatClient } from "./client/client";
import { SingleConnection } from "./client/connection";
export declare function errorOf(p: Promise): Promise;
export declare function causeOf(p: Promise): Promise;
export declare function assertErrorChain(p: Promise | Promise[], ...chain: any[]): Promise;
export declare function assertErrorChain(e: Error | undefined, ...chain: any[]): void;
export declare function assertThrowsChain(f: () => void, ...chain: any[]): void;
export declare type MockTransportData = {
transport: Duplex;
data: any[];
emit: (...lines: string[]) => void;
end: (error?: Error) => void;
emitAndEnd: (...lines: string[]) => void;
};
export declare function createMockTransport(): MockTransportData;
export declare type FakeConnectionData = {
client: SingleConnection;
clientError: Promise;
} & MockTransportData;
export declare function fakeConnection(): FakeConnectionData;
export declare type FakeClientData = {
client: ChatClient;
clientError: Promise;
transports: MockTransportData[];
emit: (...lines: string[]) => void;
end: () => void;
emitAndEnd: (...lines: string[]) => void;
};
export declare function fakeClient(connect?: boolean): FakeClientData;
//# sourceMappingURL=helpers.spec.d.ts.map