import { Dispatcher } from '../../bus';
import { Sidebar } from './sidebar';
export declare abstract class SidebarItem extends Dispatcher {
    protected container: HTMLDivElement;
    protected initialized: boolean;
    protected opened: boolean;
    protected sidebar?: Sidebar;
    protected abortController?: AbortController;
    constructor();
    setSidebar(sidebar: Sidebar): void;
    get viewer(): import('../..').ViewerType;
    get eventBus(): import('../../bus').EventBus<Record<string, import('../../bus').ListenerCallback>, string>;
    get signal(): AbortSignal | undefined;
    get l10n(): import('../../l10n').IL10n;
    abstract build(): Node;
    initialize(): Promise<void>;
    terminate(removeOfSidebar?: boolean): Promise<void>;
    protected init(): Promise<void> | void;
    protected destroy(): Promise<void> | void;
    toggle(): void;
    show(): void;
    hide(): void;
    render(): HTMLDivElement;
}
