{"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","WorkerPoolManager","langs","theme","lineDiffType","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;\n diffCache: LRUMapPkg.LRUMap;\n}\ninterface ThemeSubscriber {\n rerender(): void;\n}\nexport declare class WorkerPoolManager {\n private options;\n private highlighter;\n private readonly preferredHighlighter;\n private renderOptions;\n private initialized;\n private workers;\n private taskQueue;\n private pendingTasks;\n private nextRequestId;\n private themeSubscribers;\n private workersFailed;\n private instanceRequestMap;\n private statSubscribers;\n private fileCache;\n private diffCache;\n private _queuedBroadcast;\n constructor(options: WorkerPoolOptions, { langs, theme, lineDiffType, 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, lineDiffType, tokenizeMaxLineLength }: Partial): Promise;\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 cleanUpPendingTasks(instance: FileRendererInstance | DiffRendererInstance): void;\n isInitialized(): boolean;\n initialize(languages?: SupportedLanguages[]): Promise;\n private initializeWorkers;\n private drainQueue;\n highlightFileAST(instance: FileRendererInstance, file: FileContents): void;\n getPlainFileAST(file: FileContents, startingLine: number, totalLines: number, lines?: string[]): ThemedFileResult | undefined;\n highlightDiffAST(instance: DiffRendererInstance, diff: FileDiffMetadata): void;\n getPlainDiffAST(diff: FileDiffMetadata, startingLine: number, totalLines: number, expandedHunks?: Map | true, collapsedContextThreshold?: number): ThemedDiffResult | undefined;\n terminate(): void;\n private terminateWorkers;\n getStats(): WorkerStats;\n private submitTask;\n private resolveLanguagesAndExecuteTask;\n private handleWorkerMessage;\n private _queuedDrain;\n private queueDrain;\n private assignWorkerToTask;\n private cleanWorkerAndTask;\n private executeTask;\n private getAvailableWorker;\n private generateRequestId;\n}\nexport {};\n//# sourceMappingURL=WorkerPoolManager.d.ts.map"],"mappings":"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"}