{"version":3,"file":"WorkerPoolManager.d.ts","names":["LRUMapPkg","FileContents","FileDiffMetadata","HunkExpansionRegion","RenderDiffOptions","RenderDiffResult","RenderFileOptions","RenderFileResult","SupportedLanguages","ThemedDiffResult","ThemedFileResult","DiffRendererInstance","FileRendererInstance","WorkerInitializationRenderOptions","WorkerPoolOptions","WorkerRenderingOptions","WorkerStats","GetCachesResult","LRUMap","ThemeSubscriber","RenderTaskInstance","WorkerPoolManager","langs","theme","useTokenTransformer","lineDiffType","maxLineDiffLength","tokenizeMaxLineLength","preferredHighlighter","Partial","Promise","Map"],"sources":["../../src/worker/WorkerPoolManager.d.ts"],"sourcesContent":["import LRUMapPkg from 'lru_map';\nimport type { FileContents, FileDiffMetadata, HunkExpansionRegion, RenderDiffOptions, RenderDiffResult, RenderFileOptions, RenderFileResult, SupportedLanguages, ThemedDiffResult, ThemedFileResult } from '../types';\nimport type { DiffRendererInstance, FileRendererInstance, WorkerInitializationRenderOptions, WorkerPoolOptions, WorkerRenderingOptions, WorkerStats } from './types';\ninterface GetCachesResult {\n    fileCache: LRUMapPkg.LRUMap<string, RenderFileResult>;\n    diffCache: LRUMapPkg.LRUMap<string, RenderDiffResult>;\n}\ninterface ThemeSubscriber {\n    onThemeChange(): void;\n}\ntype RenderTaskInstance = FileRendererInstance | DiffRendererInstance;\nexport declare class WorkerPoolManager {\n    private options;\n    private highlighter;\n    private readonly preferredHighlighter;\n    private renderOptions;\n    private renderOptionsRequestVersion;\n    private renderOptionsVersion;\n    private initialized;\n    private workers;\n    private queuedTasks;\n    private queuedTaskByInstance;\n    private taskByHighlightKey;\n    private activeTaskById;\n    private activeRequestByInstance;\n    private nextRequestId;\n    private themeSubscribers;\n    private workersFailed;\n    private statSubscribers;\n    private fileCache;\n    private diffCache;\n    private _queuedBroadcast;\n    private lifecycleGeneration;\n    constructor(options: WorkerPoolOptions, { langs, theme, useTokenTransformer, lineDiffType, maxLineDiffLength, tokenizeMaxLineLength, preferredHighlighter }: WorkerInitializationRenderOptions);\n    isWorkingPool(): boolean;\n    getFileResultCache(file: FileContents): RenderFileResult | undefined;\n    getDiffResultCache(diff: FileDiffMetadata): RenderDiffResult | undefined;\n    inspectCaches(): GetCachesResult;\n    evictFileFromCache(cacheKey: string): boolean;\n    evictDiffFromCache(cacheKey: string): boolean;\n    setRenderOptions({ theme, useTokenTransformer, lineDiffType, maxLineDiffLength, tokenizeMaxLineLength }: Partial<WorkerRenderingOptions>): Promise<void>;\n    getFileRenderOptions(): RenderFileOptions;\n    getDiffRenderOptions(): RenderDiffOptions;\n    private setRenderOptionsOnWorkers;\n    subscribeToThemeChanges(instance: ThemeSubscriber): () => void;\n    unsubscribeToThemeChanges(instance: ThemeSubscriber): void;\n    subscribeToStatChanges(callback: (stats: WorkerStats) => unknown): () => void;\n    private queueBroadcastStateChanges;\n    private _broadcastStateChanges;\n    cleanUpTasks(instance: RenderTaskInstance): void;\n    isInitialized(): boolean;\n    initialize(languages?: SupportedLanguages[]): Promise<void>;\n    private initializeWorkers;\n    private drainQueue;\n    highlightFileAST(instance: FileRendererInstance, file: FileContents): void;\n    primeFileHighlightCache(file: FileContents): void;\n    getPlainFileAST(file: FileContents, startingLine: number, totalLines: number, lines?: string[]): ThemedFileResult | undefined;\n    highlightDiffAST(instance: DiffRendererInstance, diff: FileDiffMetadata): void;\n    primeDiffHighlightCache(diff: FileDiffMetadata): void;\n    getPlainDiffAST(diff: FileDiffMetadata, startingLine: number, totalLines: number, expandedHunks?: Map<number, HunkExpansionRegion> | true, collapsedContextThreshold?: number): ThemedDiffResult | undefined;\n    terminate(): void;\n    private isCurrentLifecycle;\n    private queueInitialization;\n    private cancelActiveWorkerTasks;\n    private terminateWorkers;\n    getStats(): WorkerStats;\n    private submitTask;\n    private submitCacheTask;\n    private enqueueRenderTask;\n    private resolveLanguagesAndExecuteTask;\n    private handleWorkerMessage;\n    private _queuedDrain;\n    private queueDrain;\n    private assignWorkerToTask;\n    private cleanWorkerAndTask;\n    private executeTask;\n    private maybeAttachCustomExtensions;\n    private syncCustomExtensionVersion;\n    private getAvailableWorker;\n    private getFileHighlightKey;\n    private getDiffHighlightKey;\n    private getHighlightKeyForRequest;\n    private hasActiveRequest;\n    private addInstanceToTask;\n    private detachInstanceFromQueuedTasks;\n    private detachInstanceFromRenderTask;\n    private removeQueuedTask;\n    private removeActiveTask;\n    private invalidateRenderTasks;\n    private clearQueuedInstanceRequests;\n    private clearHighlightKey;\n    private trackInstanceRequests;\n    private clearInstanceRequests;\n    private notifyFileInstances;\n    private notifyDiffInstances;\n    private notifyHighlightError;\n    private hasMatchingFileInstanceTask;\n    private hasMatchingDiffInstanceTask;\n    private getTaskByHighlightKey;\n    private isCurrentRenderTask;\n    private iterateRenderTasks;\n    private generateRequestId;\n}\nexport {};\n//# sourceMappingURL=WorkerPoolManager.d.ts.map"],"mappings":"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"}