import type { ServiceCall } from "@earendil-works/chord"; import { type ClientMessage, type ResponseEnvelope, type RpcTarget, type ServerMessage } from "@earendil-works/pi-protocol"; export interface WireChannel { send(chunk: Uint8Array): Promise; sendFragmented(chunk: Uint8Array, splitAt: number): Promise; close(): Promise; } export declare class ProtocolTestClient { readonly messages: ServerMessage[]; private readonly channel; private readonly decoder; private readonly waiters; private readonly closedDeferred; private requestSequence; private attachment; private closedValue; constructor(channel: WireChannel); get closed(): boolean; hello(version?: number): Promise; requestService(target: RpcTarget, call: ServiceCall, id?: string): Promise; attach(serverId: string, sessionId: string): Promise; requestSessionService(serverId: string, sessionId: string, call: ServiceCall, id?: string): Promise; sendMessage(message: ClientMessage): Promise; sendBytes(chunk: Uint8Array): Promise; sendFragmentedMessage(message: ClientMessage, splitAt: number): Promise; next(predicate: (message: ServerMessage) => boolean): Promise; nextFrom(index: number, predicate: (message: ServerMessage) => boolean): Promise; waitForClose(): Promise; close(): Promise; receive(chunk: Uint8Array): void; markClosed(): void; fail(error: Error): void; } export declare function connectUnixTestClient(path: string): Promise; //# sourceMappingURL=client.d.ts.map