import { WorkerClientConnection } from './client/worker-client-connection.js';
import { CrossInvocation, CrossInvocationResult } from './shared/cross-invocation.js';
import { WorkerServerConnection } from './worker/worker-server-connection.js';
declare class Pipe {
    private clientCallback?;
    private serverCallback?;
    sendToServer(message: CrossInvocation): void;
    sendToClient(message: CrossInvocationResult): void;
    registerClientCallback(callback: (message: CrossInvocationResult) => void): void;
    registerServerCallback(callback?: (message: CrossInvocation) => void): void;
}
export declare class TestClientConnection implements WorkerClientConnection {
    private pipe;
    constructor(pipe: Pipe);
    addListener(callback: (data: CrossInvocationResult) => void): void;
    send(message: CrossInvocation): void;
}
export declare class TestServerConnection implements WorkerServerConnection {
    private pipe;
    constructor(pipe: Pipe);
    addListener(callback: (data: CrossInvocation) => void): void;
    removeListener(): void;
    send(message: CrossInvocationResult): void;
}
export declare function createTestConnection(): {
    client: TestClientConnection;
    server: TestServerConnection;
};
export {};
