import { TerminalDuplex, TerminalSize } from "./index.js"; import { WebSocketCloseEventLike, WebSocketLike, WebSocketMessageEventLike, WebSocketPayload } from "./worker.js"; //#region src/testing.d.ts export declare const LIBTERMINAL_EXPORTS: readonly ["@openclaw/libterminal", "@openclaw/libterminal/protocol", "@openclaw/libterminal/stream", "@openclaw/libterminal/browser", "@openclaw/libterminal/node", "@openclaw/libterminal/worker", "@openclaw/libterminal/worker-assets", "@openclaw/libterminal/testing"]; export type FakeTerminalDuplex = TerminalDuplex & { readonly writes: Uint8Array[]; readonly sizes: TerminalSize[]; readonly closeReasons: Array; emitOutput(bytes: Uint8Array): void; endOutput(): void; }; export declare function createFakeTerminalDuplex(): FakeTerminalDuplex; export declare class FakeWebSocket implements WebSocketLike { readyState: number; readonly sent: WebSocketPayload[]; closed?: { code?: number; reason?: string; }; private readonly messages; private readonly closes; private readonly errors; send(data: WebSocketPayload): void; close(code?: number, reason?: string): void; addEventListener(type: "message" | "close" | "error", listener: ((event: WebSocketMessageEventLike) => void) | ((event: WebSocketCloseEventLike) => void) | (() => void)): void; removeEventListener(type: "message" | "close" | "error", listener: ((event: WebSocketMessageEventLike) => void) | ((event: WebSocketCloseEventLike) => void) | (() => void)): void; receive(data: unknown): void; emitClose(code?: number, reason?: string): void; emitError(): void; } export declare class ManualClock { private currentTime; private nextId; private readonly tasks; now(): number; setTimeout(callback: () => void, delayMs: number): number; clearTimeout(id: number): void; advanceBy(durationMs: number): void; private nextTask; } export declare function terminalBytes(value: string): Uint8Array; export declare function terminalText(chunks: Iterable): string; export declare function collectTerminalOutput(output: AsyncIterable, limit?: number): Promise; //#endregion