/** * @module Node Worker streams */ import { BaseDuplexStream } from "../BaseDuplexStream.cjs"; import type { BaseReaderArgs, BaseWriterArgs, ValidateInput } from "../BaseStream.cjs"; import { BaseReader, BaseWriter } from "../BaseStream.cjs"; export type OnMessage = (message: unknown) => void; export type NodePort = { on: (event: 'message', listener: OnMessage) => void; postMessage: (message: unknown) => void; }; /** * A readable stream over a {@link NodePort}. * * @see * - {@link NodeWorkerWriter} for the corresponding writable stream. * - The module-level documentation for more details. */ export declare class NodeWorkerReader extends BaseReader { /** * Constructs a new {@link NodeWorkerReader}. * * @param port - The node worker port to read from. * @param options - Options bag for configuring the reader. * @param options.validateInput - A function that validates input from the transport. * @param options.onEnd - A function that is called when the stream ends. */ constructor(port: NodePort, { validateInput, onEnd }?: BaseReaderArgs); } /** * A writable stream over a {@link NodeWorker}. * * @see * - {@link NodeWorkerReader} for the corresponding readable stream. * - The module-level documentation for more details. */ export declare class NodeWorkerWriter extends BaseWriter { /** * Constructs a new {@link NodeWorkerWriter}. * * @param port - The node worker port to write to. * @param options - Options bag for configuring the writer. * @param options.name - The name of the stream, for logging purposes. * @param options.onEnd - A function that is called when the stream ends. */ constructor(port: NodePort, { name, onEnd }?: Omit, 'onDispatch'>); } /** * A duplex stream over a Node worker port. */ export declare class NodeWorkerDuplexStream extends BaseDuplexStream, Write, NodeWorkerWriter> { /** * Constructs a new {@link NodeWorkerDuplexStream}. * * @param port - The node worker port for bidirectional communication. * @param validateInput - A function that validates input from the transport. */ constructor(port: NodePort, validateInput?: ValidateInput); /** * Creates and synchronizes a new {@link NodeWorkerDuplexStream}. * * @param port - The node worker port for bidirectional communication. * @param validateInput - A function that validates input from the transport. * @returns A synchronized duplex stream. */ static make(port: NodePort, validateInput?: ValidateInput): Promise>; } //# sourceMappingURL=NodeWorkerStream.d.cts.map