import { MenuCreation } from '../../modules/smz-layouts/core/models/menu-creation';
import { SmzMenuItem } from '../../modules/smz-menu/models/smz-menu-item';
import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
export declare class SmzMenuCreationBuilder<TGet> extends SmzBuilderUtilities<SmzMenuCreationBuilder<TGet>> {
    private _builder;
    private _items;
    protected that: this;
    constructor(_builder: TGet, _items?: MenuCreation[]);
    item(label: string, icon?: string, tooltip?: string): SmzMenuCreationItemBuilder<TGet>;
    get back(): TGet;
    build(): SmzMenuItem[];
}
export declare class SmzMenuCreationItemBuilder<TGet> {
    private _menuBuilder;
    private _parent;
    private _item;
    constructor(_menuBuilder: SmzMenuCreationBuilder<TGet>, _parent: SmzMenuCreationItemBuilder<TGet>, _item: MenuCreation);
    addChild(label: string, icon?: string): SmzMenuCreationItemBuilder<TGet>;
    setCallback<T>(callback: (item: T) => void): SmzMenuCreationItemBuilder<TGet>;
    setRedirect(paths: string[]): SmzMenuCreationItemBuilder<TGet>;
    hasClaimAccess(claim: string): SmzMenuCreationItemBuilder<TGet>;
    hide(): SmzMenuCreationItemBuilder<TGet>;
    disable(): SmzMenuCreationItemBuilder<TGet>;
    get menu(): SmzMenuCreationBuilder<TGet>;
    applyChild(): SmzMenuCreationItemBuilder<TGet>;
}
