import * as solid_js from 'solid-js'; import { ConfigurableWindow } from '../_configurable.js'; type WebWorkerStatus = 'PENDING' | 'SUCCESS' | 'RUNNING' | 'ERROR' | 'TIMEOUT_EXPIRED'; interface UseWebWorkerOptions extends ConfigurableWindow { /** * Number of milliseconds before killing the worker * * @default undefined */ timeout?: number; /** * An array that contains the external dependencies needed to run the worker */ dependencies?: string[]; } /** * Run expensive function without blocking the UI, using a simple syntax that makes use of Promise. * * @see https://solidjs-use.github.io/solidjs-use/core/useWebWorkerFn */ declare const useWebWorkerFn: any>(fn: T, options?: UseWebWorkerOptions) => { workerFn: (...fnArgs: Parameters) => Promise>; workerStatus: solid_js.Accessor; workerTerminate: (status?: WebWorkerStatus) => void; }; type UseWebWorkerFnReturn = ReturnType; export { UseWebWorkerFnReturn, UseWebWorkerOptions, WebWorkerStatus, useWebWorkerFn };