/// <reference path="../../../../src/@types/@kano/common/index.d.ts" />
import { Plugin } from './plugin.js';
import '../../elements/kano-tooltip/kano-tooltip.js';
import Editor from './editor.js';
export interface IActivityBarEntryOptions {
    size: string;
    icon?: string;
    important?: boolean;
    title?: string;
    disabled?: boolean;
}
declare class ActivityBarEntry {
    private _bar;
    private opts;
    root: HTMLElement;
    private _onDidActivate;
    constructor(bar: ActivityBar, opts?: Partial<IActivityBarEntryOptions>);
    readonly onDidActivate: import("@kano/common/index.js").IEvent<void>;
    createDom(): HTMLButtonElement;
    onWillInject(_: HTMLElement): void;
    _onButtonClick(e: any): void;
    dispose(): void;
    disable(): void;
    enable(): void;
    _updateDisabled(): void;
}
export interface IActivityBarTooltipEntryOptions extends Partial<IActivityBarEntryOptions> {
    root: HTMLElement;
    offset?: number;
    position?: string;
}
export declare class ActivityBarTooltipEntry extends ActivityBarEntry {
    private _contents;
    private _offset;
    private _position;
    private _tooltip?;
    constructor(bar: ActivityBar, opts: IActivityBarTooltipEntryOptions);
    onWillInject(container: HTMLElement): void;
    _onButtonClick(e: any): void;
    dispose(): void;
}
export declare class ActivityBar extends Plugin {
    private editor?;
    entries: ActivityBarEntry[];
    private _barContainer?;
    registerEntry(opts: Partial<IActivityBarEntryOptions>): ActivityBarEntry;
    registerTooltipEntry(opts: IActivityBarTooltipEntryOptions): ActivityBarTooltipEntry;
    injectEntry(entry: ActivityBarEntry): void;
    onInstall(editor: Editor): void;
    onInject(): void;
    readonly size: Readonly<{
        BIG: string;
        DEFAULT: string;
    }>;
}
export default ActivityBar;
