import { ModuleName } from "@readium/navigator-html-injectables";
import { Locator, Publication } from "@readium/shared";
import { FrameManager } from "./FrameManager";
import { Injector } from "../../injection/Injector";
import { IContentProtectionConfig, IKeyboardPeripheralsConfig } from "../../Navigator";
export declare class FramePoolManager {
    private readonly container;
    private readonly positions;
    private _currentFrame;
    private currentCssProperties;
    private readonly pool;
    private readonly blobs;
    private readonly inprogress;
    private pendingUpdates;
    private currentBaseURL;
    private readonly injector;
    private readonly contentProtectionConfig;
    private readonly keyboardPeripheralsConfig;
    constructor(container: HTMLElement, positions: Locator[], cssProperties?: {
        [key: string]: string;
    }, injector?: Injector | null, contentProtectionConfig?: IContentProtectionConfig, keyboardPeripheralsConfig?: IKeyboardPeripheralsConfig);
    destroy(): Promise<void>;
    update(pub: Publication, locator: Locator, modules: ModuleName[], force?: boolean): Promise<void>;
    setCSSProperties(properties: {
        [key: string]: string;
    }): void;
    get currentFrames(): (FrameManager | undefined)[];
    get currentBounds(): DOMRect;
}
