import type { ISubscriber } from "./api.js";
/**
 * Creates a {@link ISubscriber | subscriber} which forwards received
 * values to given worker.
 *
 * @remarks
 * The `worker` can be an existing `Worker` instance, a JS source code
 * `Blob` or an URL string. In the latter two cases, a worker is created
 * automatically. If `transfer` is true, the received values will be
 * marked as *transferrable* and the host app loses all access
 * permissions to these marked values. See `Worker.postMessage()` for
 * details.
 *
 * If `terminate` is set to a positive number, then the worker will be
 * automatically terminated after the stated number of milliseconds
 * since the parent subscription is {@link ISubscriber.done}.
 *
 * @example
 * ```ts tangle:../export/post-worker.ts
 * import { postWorker, stream } from "@thi.ng/rstream";
 *
 * // worker source code
 * const src = `self.onmessage = (e) => console.log("worker", e.data);`;
 *
 * const a = stream<any>();
 * a.subscribe(
 *   postWorker(new Blob([src], { type: "application/javascript" }))
 * );
 *
 * a.next(42)
 * // worker 42
 * ```
 *
 * @param worker -
 * @param transfer -
 * @param terminate - worker termination delay (ms)
 */
export declare const postWorker: <T>(worker: Worker | Blob | string, transfer?: boolean, terminate?: number) => ISubscriber<T>;
//# sourceMappingURL=post-worker.d.ts.map