import { UserFunction } from "./lib/types";
declare function $claim(value: Object): Promise<void>;
declare function $unclaim(value: Object): void;
interface ThreadedConfig {
    debug: boolean;
    maxThreads: number;
}
declare function threaded<T extends Array<unknown>, TReturn>(fn: UserFunction<T, TReturn>): ((...args: T) => Promise<TReturn>) & {
    dispose: () => void;
};
declare function threaded<T extends Array<unknown>, TReturn>(config: Partial<ThreadedConfig>, fn: UserFunction<T, TReturn>): ((...args: T) => Promise<TReturn>) & {
    dispose: () => void;
};
export { $claim, $unclaim, threaded };
