import type { CreateWorkerInEnvironment } from './createWorker.ts';
import { type WorkerFunctionBase } from './createWorkerFunction_.ts';
type SyncFn<Args extends Array<unknown>, Result> = (...args: Args) => Result;
type AsyncFn<Args extends Array<unknown>, Result> = (...args: Args) => Promise<Result>;
export type Fn<Args extends Array<unknown>, Result> = SyncFn<Args, Result> | AsyncFn<Args, Result>;
export default function createWorkerFunction<Args extends Array<unknown>, Result>(createWorkerInEnvironment: CreateWorkerInEnvironment, fnOrAlias: Fn<Args, Result> | string): WorkerFunction<Args, Result>;
export interface WorkerFunction<Args extends Array<unknown>, Result> extends WorkerFunctionBase<Args, Result> {
    call(...args: Args): Promise<Result>;
    callOnce(...args: Args): Promise<Result>;
}
export {};
