import { Dispatcher, EventBus } from '../../bus';
import { Translator } from '../../l10n';
import { ViewerType } from '../../viewer';
import { Drawer } from '../../tools';
import { SidebarItem } from './sidebar-item';
export declare class SidebarManager extends Dispatcher {
    readonly eventBus: EventBus;
    readonly viewer: ViewerType;
    readonly translator: Translator;
    protected container: HTMLDivElement;
    protected menu: HTMLUListElement;
    protected items: Map<string, SidebarItem>;
    protected current?: string;
    protected drawer: Drawer;
    constructor(eventBus: EventBus, viewer: ViewerType, translator: Translator);
    get length(): number;
    get opened(): boolean;
    open(): void;
    close(): void;
    add(item: SidebarItem, order?: number): void;
    delete(item: SidebarItem): void;
    select(name?: string): void;
    destroy(): Promise<void>;
    private createButton;
    private sortMenu;
    private removeButtons;
    private deselectCurrent;
    private highlightButton;
}
