import { EventEmitter } from "node:events";
export declare function createEmitterPair(): EventEmitter<[never]>[];
export declare function createServerTransport(emitter: EventEmitter): import("@usirin/forge").Entity<"xports"> & {
    incoming: ReadableStream<import("@usirin/forge").Entity<"req"> & {
        name: string;
        parameters: any;
    }>;
    outgoing: WritableStream<import("@usirin/forge").Entity<"resp"> & {
        request: import("@usirin/forge").Entity<"req"> & {
            name: string;
            parameters: any;
        };
        result: Promise<any> | undefined;
        error: {
            message: string;
            code?: string;
            details?: unknown;
        } | undefined;
    }>;
};
export declare function createClientTransport(emitter: EventEmitter): import("@usirin/forge").Entity<"xportc"> & {
    incoming: ReadableStream<import("@usirin/forge").Entity<"resp"> & {
        request: import("@usirin/forge").Entity<"req"> & {
            name: string;
            parameters: any;
        };
        result: Promise<any> | undefined;
        error: {
            message: string;
            code?: string;
            details?: unknown;
        } | undefined;
    }>;
    outgoing: WritableStream<import("@usirin/forge").Entity<"req"> & {
        name: string;
        parameters: any;
    }>;
};
//# sourceMappingURL=emitter.d.ts.map