import { Fn, Fns } from "./types.js"; export declare const tune: unique symbol; export declare const query: unique symbol; export declare const notify: unique symbol; export declare const settings: unique symbol; export type TuneSymbol = typeof tune; export type QuerySymbol = typeof query; export type NotifySymbol = typeof notify; export type SettingsSymbol = typeof settings; export type Executor = (path: string[], args: any[], settings: Settings) => Promise; export type Settings = { notify?: boolean; transfer?: Transferable[]; }; export type Remote = (F extends Fn ? F & { [tune]: (settings: Settings) => F; [query]: F; [notify]: F; [settings]: Settings; } : F extends Fns ? { [K in keyof F]: Remote; } : never); export declare function remoteProxy(executor: Executor): Remote;