import { ButtonSize } from "../action/button/viewModel";
import { AutoFocusType } from "../../../utils/focus";
import { Ref } from "vue";
export interface ModalDialogBoxProps {
    id?: string;
    title: string;
    subTitle?: string;
    icon?: string;
    primaryLabel?: string;
    primaryAction?: Function;
    primaryDisabled?: boolean;
    primaryColor?: string;
    neutralLabel?: string;
    neutralAction?: Function;
    neutralDisabled?: boolean;
    neutralClass?: string;
    neutralColor?: string;
    closeOnBlurClick?: boolean;
    closeDisabled?: boolean;
    closeCrossSize?: ButtonSize;
    hasFooter?: boolean;
    hasNeutral?: boolean;
    hasPadding?: boolean;
    modalAutofocus?: AutoFocusType;
    autoInProgressOnPrimary?: boolean;
    size?: 350 | 600 | 700 | 900 | undefined;
    maxHeight?: 600;
    resize?: boolean;
    fixedHeight?: boolean;
    tapTrap?: boolean;
    contentOverflow?: 'auto' | 'unset' | 'hidden';
    autoHeight?: boolean;
}
export declare type ComponentCloseTriggerType = 'button' | 'escape' | 'blur';
export declare function ModalDialogBoxViewModel(props: ModalDialogBoxProps, emit: any, actionLocked: Ref<boolean>): {
    inProgress: Ref<boolean | undefined, boolean | undefined>;
    actionInProgress: (progress: boolean) => void;
    onOpen: () => void;
    onClose: (type?: ComponentCloseTriggerType) => void;
    blurAction: () => void;
    closeTrigger: (type?: ComponentCloseTriggerType) => void;
    onNeutralClick: () => void;
    onPrimaryClick: () => Promise<void>;
    currentPrimaryDisabled: Ref<boolean | undefined, boolean | undefined>;
};
//# sourceMappingURL=viewModel.d.ts.map