import { type InvalidationPush, type Request } from './messages.js'; type SendOptions = { namespace: string; timeout: number; failsafe: 'resolve' | 'reject'; }; type ProcessLike = { send: (msg: unknown) => boolean | void; on: (event: 'message', cb: (msg: unknown) => void) => void; }; type DistributiveOmit = T extends unknown ? Omit : never; type RequestPayload = DistributiveOmit; type InvalidationHandler = (msg: InvalidationPush) => void; interface IpcClient { sendToPrimary: (opts: SendOptions, payload: RequestPayload) => Promise; sendToPrimaryWithMeta: (opts: SendOptions, payload: RequestPayload) => Promise<{ value: T; version: number; }>; subscribeInvalidations: (namespace: string, handler: InvalidationHandler) => () => void; } export declare function createIpcClient(proc: ProcessLike): IpcClient; export declare function getDefaultClient(): IpcClient; export {}; //# sourceMappingURL=worker.d.ts.map