import { Readable, type Writable } from "node:stream";
import type { WS } from "insite-ws/client";
import type { WSServerClient } from "insite-ws/server";
import { IncomingTransfer } from "../IncomingTransfer";
import { IncomingTransport } from "../IncomingTransport";
import type { IncomingTransferTypes } from "../types";
import type { NodeTransferTypes } from "./types";
export type { IncomingTransportOptions } from "../types";
declare class TransferStream extends Readable {
    constructor(writableStream: Writable);
    writable: Writable;
    promise: Promise<void>;
    _read(): void;
}
export declare class NodeIncomingTransfer<WSORWSSC extends WS | WSServerClient> extends IncomingTransfer<WSORWSSC> {
    streams?: TransferStream[];
    isBuffer?: boolean;
    pipeTo?: (this: NodeIncomingTransfer<WSORWSSC>, writableStream: Writable) => void;
    static types: IncomingTransferTypes<NodeIncomingTransfer<WS | WSServerClient>, NodeTransferTypes>;
}
declare class NodeIncomingTransport<WSORWSSC extends WS | WSServerClient> extends IncomingTransport<WSORWSSC, NodeIncomingTransfer<WSORWSSC>, NodeTransferTypes> {
    static Transfer: typeof NodeIncomingTransfer;
}
export { NodeIncomingTransfer as IncomingTransfer, NodeIncomingTransport as IncomingTransport };
//# sourceMappingURL=incoming.d.ts.map