import { BehaviorSubject, Observable } from 'rxjs';
import { ComponentDataBase } from '../../common/modules/inject-content/models/injectable.model';
import { SmzFormBuilder } from '../smz-forms/form-builder';
import { SmzForm } from '../../modules/smz-forms/models/smz-forms';
import { SmzDialog, SmzDialogFeature } from '../../modules/smz-dialogs/models/smz-dialogs';
import { SmzDialogButtonsBuilder } from './dialog-buttons-builder';
import { SmzDialogUiDefinitionBuilder } from './dialog-ui-definition-builder';
import { SmzTableState } from '../../modules/smz-tables/models/table-state';
import { SmzDocumentState } from '../../modules/smz-documents/models/smz-document';
import { SmzBuilderUtilities } from '../common/smz-builder-utilities';
import { SmzPresetTypes } from '../../modules/smz-dialogs/models/smz-presets';
import { SmzDialogOverlayPanelBuilder } from './dialog-overlay-panel-builder';
import { SmzUiGuidesState } from '../../standalones/smz-ui-guides/models/smz-ui-guides-state';
export declare class SmzDialogBuilder<TResponse> extends SmzBuilderUtilities<SmzDialogBuilder<TResponse>> {
    protected that: this;
    private defaultConfig;
    _state: SmzDialog<TResponse>;
    createdByUiDefinitions: boolean;
    constructor();
    setTitle(title?: any): SmzDialogBuilder<TResponse>;
    useAdvancedResponse(): SmzDialogBuilder<TResponse>;
    closeOnEscape(): SmzDialogBuilder<TResponse>;
    allowMaximize(): SmzDialogBuilder<TResponse>;
    openMaximized(): SmzDialogBuilder<TResponse>;
    disableAutoFocus(): SmzDialogBuilder<TResponse>;
    hideRestoreButton(): SmzDialogBuilder<TResponse>;
    allowMinimize(label?: string): SmzDialogBuilder<TResponse>;
    setMinimizeDockImage(imagePath: string): SmzDialogBuilder<TResponse>;
    setMinHeight(percentageOfScreen: 50 | 60 | 70 | 80): SmzDialogBuilder<TResponse>;
    overrideFeatureContainerStyles(styleClass: string): SmzDialogBuilder<TResponse>;
    setContainerStyles(styleClass: string): SmzDialogBuilder<TResponse>;
    hideHeader(): SmzDialogBuilder<TResponse>;
    hideFooter(): SmzDialogBuilder<TResponse>;
    dismissableMask(): SmzDialogBuilder<TResponse>;
    confirmOnEnter(): SmzDialogBuilder<TResponse>;
    padding(padding: string): SmzDialogBuilder<TResponse>;
    baseZIndex(zIndex: number): SmzDialogBuilder<TResponse>;
    includeComponentResponses(): SmzDialogBuilder<TResponse>;
    onSave(callback: any): SmzDialogBuilder<TResponse>;
    postProcessResponse(callback: (data: TResponse, dialog: SmzDialog<TResponse>) => TResponse): SmzDialogBuilder<TResponse>;
    setLayout(breakpoint: 'EXTRA_SMALL' | 'SMALL' | 'MEDIUM' | 'LARGE' | 'EXTRA_LARGE', colType?: 'col-1' | 'col-2' | 'col-3' | 'col-4' | 'col-5' | 'col-6' | 'col-7' | 'col-8' | 'col-9' | 'col-10' | 'col-11' | 'col-12'): SmzDialogBuilder<TResponse>;
    setPreset(preset: SmzPresetTypes): SmzDialogBuilder<TResponse>;
    useAsOverlayPanel(elementId: string, guideState: SmzUiGuidesState): SmzDialogOverlayPanelBuilder<TResponse>;
    buttons(): SmzDialogButtonsBuilder<TResponse>;
    fromUiDefinition(entityName: string): SmzDialogUiDefinitionBuilder<TResponse>;
    form(form?: SmzForm<TResponse>): SmzFormBuilder<TResponse>;
    formFeature(): SmzDialogFormBuilder<TResponse>;
    component(component: ComponentDataBase | any): SmzDialogComponentBuilder<TResponse>;
    message(message: string | string[]): SmzDialogBuilder<TResponse>;
    messageFromSubject(message: BehaviorSubject<string[]>): SmzDialogBuilder<TResponse>;
    html(html: string[]): SmzDialogBuilder<TResponse>;
    markdown(mdData: string): SmzDialogBuilder<TResponse>;
    table(items$: Observable<any>, state: SmzTableState): SmzDialogBuilder<TResponse>;
    tableFeature(items$: Observable<any>): SmzDialogTableBuilder<TResponse>;
    document(state: SmzDocumentState): SmzDialogBuilder<TResponse>;
    debugMode(): SmzDialogBuilder<TResponse>;
    build(): SmzDialog<TResponse>;
}
export declare class SmzDialogComponentBuilder<TResponse> {
    _dialogBuilder: SmzDialogBuilder<TResponse>;
    feature: SmzDialogFeature;
    constructor(_dialogBuilder: SmzDialogBuilder<TResponse>, feature: SmzDialogFeature);
    addInput(input: string, data: any): SmzDialogComponentBuilder<TResponse>;
    addOutput(output: string, callback: (data: any) => void): SmzDialogComponentBuilder<TResponse>;
    setLayout(breakpoint: 'EXTRA_SMALL' | 'SMALL' | 'MEDIUM' | 'LARGE' | 'EXTRA_LARGE', colType?: 'col-1' | 'col-2' | 'col-3' | 'col-4' | 'col-5' | 'col-6' | 'col-7' | 'col-8' | 'col-9' | 'col-10' | 'col-11' | 'col-12'): SmzDialogComponentBuilder<TResponse>;
    get dialog(): SmzDialogBuilder<TResponse>;
}
export declare class SmzDialogFormBuilder<TResponse> {
    _dialogBuilder: SmzDialogBuilder<TResponse>;
    feature: SmzDialogFeature;
    constructor(_dialogBuilder: SmzDialogBuilder<TResponse>, feature: SmzDialogFeature);
    setLayout(breakpoint: 'EXTRA_SMALL' | 'SMALL' | 'MEDIUM' | 'LARGE' | 'EXTRA_LARGE', colType?: 'col-1' | 'col-2' | 'col-3' | 'col-4' | 'col-5' | 'col-6' | 'col-7' | 'col-8' | 'col-9' | 'col-10' | 'col-11' | 'col-12'): SmzDialogFormBuilder<TResponse>;
    form(): SmzFormBuilder<TResponse>;
    get dialog(): SmzDialogBuilder<TResponse>;
}
export declare class SmzDialogTableBuilder<TResponse> {
    _dialogBuilder: SmzDialogBuilder<TResponse>;
    feature: SmzDialogFeature;
    constructor(_dialogBuilder: SmzDialogBuilder<TResponse>, feature: SmzDialogFeature);
    setLayout(breakpoint: 'EXTRA_SMALL' | 'SMALL' | 'MEDIUM' | 'LARGE' | 'EXTRA_LARGE', colType?: 'col-1' | 'col-2' | 'col-3' | 'col-4' | 'col-5' | 'col-6' | 'col-7' | 'col-8' | 'col-9' | 'col-10' | 'col-11' | 'col-12'): SmzDialogTableBuilder<TResponse>;
    addState(state: SmzTableState): SmzDialogTableBuilder<TResponse>;
    get dialog(): SmzDialogBuilder<TResponse>;
}
