import {type AddProtocolAction, config} from './config'; import type {default as MaplibreWorker} from '../source/worker'; import type {WorkerSourceConstructor} from '../source/worker_source'; import type {GetResourceResponse, RequestParameters} from './ajax'; export interface WorkerGlobalScopeInterface { importScripts(...urls: string[]): void; registerWorkerSource: (sourceName: string, sourceConstructor: WorkerSourceConstructor) => void; registerRTLTextPlugin: (_: any) => void; addProtocol: (customProtocol: string, loadFn: AddProtocolAction) => void; removeProtocol: (customProtocol: string) => void; makeRequest: (request: RequestParameters, abortController: AbortController) => Promise>; worker: MaplibreWorker; } export function workerFactory() { return new Worker(config.WORKER_URL); }