import { DxPromise } from '../../core/utils/_jqueryUtils'; export interface ICodeResolverTask { $promise: DxPromise; dispose: () => void; } export interface ICodeResolverOptions { timeOut?: number; priority?: Priority; } export declare enum Priority { Low = 0, High = 1 } declare class PriorityQueue { private _highQueue; private _lowQueue; enqueue(id: string, options?: ICodeResolverOptions): void; dequeue(): string; top(): string; remove(id: string): void; get length(): number; } export declare class CodeResolver { protected _queue: PriorityQueue; protected _queueObj: { [key: string]: () => void; }; private _done; private _doneOnce; clear(): void; done(callback: any): void; doneOnce(callback: any): void; protected initQueue(): PriorityQueue; protected remove(id: string): void; private _executeNext; execute(func: any, options?: ICodeResolverOptions): ICodeResolverTask; protected runCompletions(): void; } export declare const globalResolver: CodeResolver; export {};