import { StatusType, ModalActionButton } from '../../models';
interface Props {
    modelValue: any;
    backdropDismiss?: boolean;
    loading?: boolean;
    loadingText?: string;
    closable?: boolean;
    title?: string;
    submitLabel?: string;
    cancelLabel?: string;
    buttons?: ModalActionButton[];
    type?: StatusType;
    priority?: boolean;
    submitAction?: () => Promise<boolean>;
    cancelAction?: () => Promise<boolean>;
}
declare function dismissModal(): void;
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Props, {
    close: typeof dismissModal;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    submit: (...args: any[]) => void;
    close: (...args: any[]) => void;
    "update:modelValue": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{
    onSubmit?: ((...args: any[]) => any) | undefined;
    onClose?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    type: StatusType;
    modelValue: any;
    loading: boolean;
    priority: boolean;
    backdropDismiss: boolean;
    closable: boolean;
    submitLabel: string;
    cancelLabel: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    innerModal: HTMLElement;
}, any>, {
    header?(_: {}): any;
    title?(_: {
        modalData: any;
    }): any;
    default?(_: {
        modalData: any;
    }): any;
    footer?(_: {
        modalData: any;
    }): any;
    buttons?(_: {
        close: typeof dismissModal;
        modalData: any;
    }): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
