import { MenuItem } from 'primeng/api';
import { SmzMenuItem } from '../../modules/smz-menu/models/smz-menu-item';
import { SmzDocumentWidthTypes } from '../smz-documents/document-base-cell';
import { SmzEasyTableBuilder } from './state-builder';
export declare class SmzEasyMenuTableBuilder {
    private _tableBuilder;
    constructor(_tableBuilder: SmzEasyTableBuilder, items?: SmzMenuItem[]);
    setHeader(header: string): SmzEasyMenuTableBuilder;
    setWidth(widthClass: SmzDocumentWidthTypes): SmzEasyMenuTableBuilder;
    setHeaderStyles(styleClass: string): SmzEasyMenuTableBuilder;
    useDynamic(callback: (row: any) => SmzMenuItem[]): SmzEasyMenuTableBuilder;
    item(label: string, icon?: string, tooltip?: string): SmzMenuItemEasyTableBuilder;
    separator(): SmzEasyMenuTableBuilder;
    get table(): SmzEasyTableBuilder;
}
export declare class SmzMenuItemEasyTableBuilder {
    private _menuBuilder;
    private _parent;
    private _item;
    constructor(_menuBuilder: SmzEasyMenuTableBuilder, _parent: SmzMenuItemEasyTableBuilder, _item: SmzMenuItem);
    addChild(label: string, icon?: string): SmzMenuItemEasyTableBuilder;
    setCallback<T>(callback: (item: T) => void): SmzMenuItemEasyTableBuilder;
    setRedirect(paths: string[]): SmzMenuItemEasyTableBuilder;
    setVisibilityRule<T>(callback: (item: T) => boolean): SmzMenuItemEasyTableBuilder;
    setActivationRule<T>(callback: (item: T) => boolean): SmzMenuItemEasyTableBuilder;
    hide(): SmzMenuItemEasyTableBuilder;
    disable(): SmzMenuItemEasyTableBuilder;
    addTransformRule<T>(callback: (item: T) => Partial<MenuItem>): SmzMenuItemEasyTableBuilder;
    askForConfirmation(title: string, message: string): SmzMenuItemEasyTableBuilder;
    askForCriticalConfirmation(title: string, message: string): SmzMenuItemEasyTableBuilder;
    get menu(): SmzEasyMenuTableBuilder;
    applyChild(): SmzMenuItemEasyTableBuilder;
}
