import type { DialogButton, DialogProps } from './types';
import './dialog.scss';
declare var __VLS_10: {}, __VLS_20: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_10) => any;
} & {
    footer?: (props: typeof __VLS_20) => any;
};
declare const __VLS_component: import("vue").DefineComponent<DialogProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    cancel: (button: DialogButton, index: number) => any;
    close: () => any;
    confirm: (button: DialogButton, index: number) => any;
    "update:visible": (visible: boolean) => any;
}, string, import("vue").PublicProps, Readonly<DialogProps> & Readonly<{
    onCancel?: (button: DialogButton, index: number) => any;
    onClose?: () => any;
    onConfirm?: (button: DialogButton, index: number) => any;
    "onUpdate:visible"?: (visible: boolean) => any;
}>, {
    title: string;
    visible: boolean;
    width: string;
    closeOnClickModal: boolean;
    content: string;
    customClass: string;
    showFooter: boolean;
    buttons: DialogButton[];
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
