import { NgxSmzUiConfig } from '../../ngx-smz-ui.config';
import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
import { SmzUiAuthorizationBuilder } from './authorization-builder';
import { MenuCreation } from '../../modules/smz-layouts/core/models/menu-creation';
import { SmzTableBuilder } from '../smz-tables/state-builder';
import { SmzGenericMenuBuilder } from '../smz-menu/generic-menu-builder';
import { SmzMenuItem } from '../../modules/smz-menu/models/smz-menu-item';
export declare class SmzUiUsersCrudBuilder<TData> extends SmzBuilderUtilities<SmzUiUsersCrudBuilder<TData>> {
    private _builder;
    private _state;
    protected that: this;
    private _config;
    private _menu;
    constructor(_builder: SmzUiAuthorizationBuilder<TData>, _state: NgxSmzUiConfig);
    setTitle(title: string): SmzUiUsersCrudBuilder<TData>;
    setAvatarPlaceholder(path: string): SmzUiUsersCrudBuilder<TData>;
    overrideMenu(partial?: Partial<MenuCreation>): SmzUiUsersCrudBuilder<TData>;
    customTable(callback: () => SmzTableBuilder<TData>, ignoreDefaultMenu?: boolean): SmzUiUsersCrudBuilder<TData>;
    addButton(button: SmzMenuItem): SmzUiUsersCrudBuilder<TData>;
    addButtons(): SmzGenericMenuBuilder<SmzUiUsersCrudBuilder<TData>>;
    hide(): SmzUiUsersCrudBuilder<TData>;
    allowUserDeactivation(): SmzUiUsersCrudBuilder<TData>;
    allowUserDeletion(): SmzUiUsersCrudBuilder<TData>;
    get authorization(): SmzUiAuthorizationBuilder<TData>;
}
