import { PromisedPostMessage, Maybe, ICustomWorkerPort } from '../zorigami_types';
export declare class WorkerInstanceProvider {
    private worker_instances;
    private worker_interfaces;
    private worker_apis;
    private worker_ports;
    private worker_port_interfaces;
    private worker_port_apis;
    constructor();
    getWorkerPort: (worker_name: string) => Maybe<MessagePort>;
    storeWorkerPort: (worker_name: string, worker_port: MessagePort) => undefined;
    getPortInterface: (worker_name: string) => Maybe<ICustomWorkerPort>;
    storePortInterface: (worker_name: string, worker_port: MessagePort) => void;
    storeWorkerPortAPI: (worker_name: string, worker_api_config: string[]) => void;
    getWorkerPortAPI: (worker_name: string, action_name: string) => PromisedPostMessage;
    storeWorker: (worker_name: string, worker: Worker) => undefined;
    isWorker: (worker: Maybe<Worker>) => worker is Worker;
    terminateWorker: (worker_name: string) => undefined;
    storeWorkerInterface: (worker_name: string, worker_instance: Worker) => undefined;
    getWorkerInterface: (worker_name: string) => Maybe<ICustomWorkerPort>;
    storeWorkerApi: (worker_name: string, worker_api_config: string[]) => void;
    getWorkerApi: (worker_name: string, action_name: string) => Maybe<PromisedPostMessage>;
    private makeWorkerApiCall;
    private makePortApiCall;
    private getWorker;
}
declare const worker_instance_provider: WorkerInstanceProvider;
export default worker_instance_provider;
