import MaplibreWorker from '../source/worker';
import type { WorkerSource } from '../source/worker_source';
declare type MessageListener = (a: {
    data: any;
    target: any;
}) => unknown;
export interface WorkerInterface {
    addEventListener(type: 'message', listener: MessageListener): void;
    removeEventListener(type: 'message', listener: MessageListener): void;
    postMessage(message: any): void;
    terminate(): void;
}
export interface WorkerGlobalScopeInterface {
    importScripts(...urls: Array<string>): void;
    registerWorkerSource: (b: string, a: {
        new (...args: any): WorkerSource;
    }) => void;
    registerRTLTextPlugin: (_: any) => void;
}
declare function workerFactory(): WorkerInterface;
declare namespace workerFactory {
    var Worker: typeof MaplibreWorker;
}
export default workerFactory;
//# sourceMappingURL=web_worker.d.ts.map