import { Subject } from 'rxjs';
import { BackgroundEntry } from '../background-entry.js';
import { InternalBackgroundEntry } from '../internal-background-entry.js';
import { AbstractBackgroundManager } from './abstract-background-manager.js';
export declare class SingleThreadLocalBackgroundManager extends AbstractBackgroundManager {
    private _localBus;
    readonly backgroundManagerName: string;
    immediateProcessQueue?(): Subject<InternalBackgroundEntry<any>>;
    addEntryToQueue<T>(entry: BackgroundEntry<T>, fireStartMessage?: boolean): Promise<string>;
    fireImmediateProcessRequest<T>(entry: BackgroundEntry<T>): Promise<string>;
    fireStartProcessingRequest(): Promise<string>;
    fetchApproximateNumberOfQueueEntries(): Promise<number>;
    takeEntryFromBackgroundQueue(): Promise<InternalBackgroundEntry<any>[]>;
}
