import { Dispatcher } from '../bus';
import { Toolbar } from './toolbar';
export type ToolbarItemType = ToolbarItem | (new () => ToolbarItem);
export declare abstract class ToolbarItem extends Dispatcher {
    private _name?;
    protected container: HTMLDivElement;
    private _toolbar?;
    protected initialized: boolean;
    protected abortController?: AbortController;
    get name(): string;
    get className(): string;
    get toolbar(): Toolbar;
    get viewer(): import('..').ViewerType;
    get eventBus(): import('../bus').EventBus<Record<string, import('../bus').ListenerCallback>, string>;
    get signal(): AbortSignal | undefined;
    get l10n(): import('../l10n').IL10n;
    get logger(): import('../viewer/logger').Logger;
    translate(key: string, options?: object): string;
    setToolbar(toolbar: Toolbar): void;
    initialize(): Promise<void>;
    terminate(): Promise<void>;
    protected init(): Promise<void> | void;
    protected destroy(): Promise<void> | void;
    hide(): void;
    show(): void;
    render(): HTMLDivElement;
}
