import { SmzTableBuilder } from './state-builder';
import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
export declare class SmzCaptionButtonsBuilder<TData> extends SmzBuilderUtilities<SmzCaptionButtonsBuilder<TData>> {
    protected _parent: SmzTableBuilder<TData>;
    protected that: this;
    constructor(_parent: SmzTableBuilder<TData>);
    add(label: string, callback: () => void): SmzCaptionButtonBuilder<TData>;
    get table(): SmzTableBuilder<TData>;
}
export declare class SmzCaptionButtonBuilder<TData> {
    protected _table: SmzTableBuilder<TData>;
    protected _parent: SmzCaptionButtonsBuilder<TData>;
    private _action;
    constructor(_table: SmzTableBuilder<TData>, _parent: SmzCaptionButtonsBuilder<TData>, label: string, callback?: () => void);
    customAuthorize(claimsWithAccess: string): SmzCaptionButtonBuilder<TData>;
    setIcon(icon: string): SmzCaptionButtonBuilder<TData>;
    setStyleClass(styleClass: string): SmzCaptionButtonBuilder<TData>;
    setTooltip(tooltip: () => string): SmzCaptionButtonBuilder<TData>;
    setVisibility(condition: () => boolean): SmzCaptionButtonBuilder<TData>;
    setActivation(condition: () => boolean): SmzCaptionButtonBuilder<TData>;
    callback(callback: () => boolean): SmzCaptionButtonBuilder<TData>;
    get buttons(): SmzCaptionButtonsBuilder<TData>;
}
