import { MenuItem } from 'primeng/api';
import { SmzCardActions } from '../../modules/smz-cards/models/smz-cards-state';
import { SmzMenuItem } from '../../modules/smz-menu/models/smz-menu-item';
import { SmzTimelineBuilder } from './state-builder';
export declare class SmzTimelineMenuBuilder {
    private _cardsBuilder;
    protected _action: SmzCardActions<any>;
    items: SmzMenuItem[];
    constructor(_cardsBuilder: SmzTimelineBuilder<any>, _action: SmzCardActions<any>, items?: SmzMenuItem[]);
    useDynamic(callback: (row: any) => SmzMenuItem[]): SmzTimelineMenuBuilder;
    item(label: string, icon?: string, tooltip?: string): SmzMenuItemCardsBuilder;
    separator(): SmzTimelineMenuBuilder;
    get timeline(): SmzTimelineBuilder<any>;
    setButtonClass(style: string): SmzTimelineMenuBuilder;
    setIcon(style: string): SmzTimelineMenuBuilder;
    setStyleClass(style: string): SmzTimelineMenuBuilder;
}
export declare class SmzMenuItemCardsBuilder {
    private _menuBuilder;
    private _parent;
    private _item;
    constructor(_menuBuilder: SmzTimelineMenuBuilder, _parent: SmzMenuItemCardsBuilder, _item: SmzMenuItem);
    addChild(label: string, icon?: string): SmzMenuItemCardsBuilder;
    setCallback<T>(callback: (item: T) => void): SmzMenuItemCardsBuilder;
    setRedirect(paths: string[]): SmzMenuItemCardsBuilder;
    setVisibilityRule<T>(callback: (item: T) => boolean): SmzMenuItemCardsBuilder;
    setActivationRule<T>(callback: (item: T) => boolean): SmzMenuItemCardsBuilder;
    hide(): SmzMenuItemCardsBuilder;
    disable(): SmzMenuItemCardsBuilder;
    addTransformRule<T>(callback: (item: T) => Partial<MenuItem>): SmzMenuItemCardsBuilder;
    askForConfirmation(title: string, message: string): SmzMenuItemCardsBuilder;
    askForCriticalConfirmation(title: string, message: string): SmzMenuItemCardsBuilder;
    get menu(): SmzTimelineMenuBuilder;
    applyChild(): SmzMenuItemCardsBuilder;
}
