import { Base } from "../base";
import { IAction, Action, BaseAction } from "./action";
import { ILocalizableOwner, LocalizableString } from ".././localizablestring";
export type ActionBarCssClasses = {
    [index: string]: string;
};
export declare let defaultActionBarCss: ActionBarCssClasses;
export declare class ActionContainer<T extends BaseAction = Action> extends Base implements ILocalizableOwner {
    getMarkdownHtml(text: string, name: string, item?: any): string;
    getRenderer(name: string): string;
    getRendererContext(locStr: LocalizableString): any;
    getProcessedText(text: string): string;
    getLocale(): string;
    actions: Array<T>;
    private cssClassesValue;
    protected getRenderedActions(): Array<T>;
    updateCallback: (isResetInitialized: boolean) => void;
    containerCss: string;
    sizeMode: "default" | "small";
    locOwner: ILocalizableOwner;
    isEmpty: boolean;
    locStrsChanged(): void;
    protected raiseUpdate(isResetInitialized: boolean): void;
    protected onSet(): void;
    protected onPush(item: T): void;
    protected onRemove(item: T): void;
    private setActionCssClasses;
    get hasActions(): boolean;
    get renderedActions(): Array<T>;
    get visibleActions(): Array<T>;
    getRootCss(): string;
    protected getDefaultCssClasses(): any;
    protected getAllActions(): T[];
    set cssClasses(val: ActionBarCssClasses);
    get cssClasses(): ActionBarCssClasses;
    private createAction;
    addAction(val: IAction, sortByVisibleIndex?: boolean): T;
    setItems(items: Array<IAction>, sortByVisibleIndex?: boolean): void;
    private sortItems;
    private hasSetVisibleIndex;
    private compareByVisibleIndex;
    private isActionVisible;
    subItemsShowDelay: number;
    subItemsHideDelay: number;
    protected popupAfterShowCallback(itemValue: T): void;
    mouseOverHandler(itemValue: T): void;
    initResponsivityManager(container: HTMLDivElement, delayedUpdateFunction?: (callback: () => void) => void): void;
    resetResponsivityManager(): void;
    getActionById(id: string): T;
    dispose(): void;
}
