import { type ButtonKind } from './NeButton.vue';
import type { PropType } from 'vue';
export type ModalKind = 'neutral' | 'info' | 'warning' | 'error' | 'success';
export type PrimaryButtonKind = 'primary' | 'danger';
export type ModalSize = 'md' | 'lg' | 'xl' | 'xxl';
declare var __VLS_37: {};
type __VLS_Slots = {} & {
    default?: (props: typeof __VLS_37) => any;
};
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        required: true;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    kind: {
        type: PropType<ModalKind>;
        default: string;
    };
    size: {
        type: PropType<ModalSize>;
        default: string;
    };
    primaryLabel: {
        type: StringConstructor;
        default: string;
    };
    secondaryLabel: {
        type: StringConstructor;
        default: string;
    };
    cancelLabel: {
        type: StringConstructor;
        default: string;
    };
    primaryButtonKind: {
        type: PropType<PrimaryButtonKind>;
        default: string;
    };
    primaryButtonDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    primaryButtonLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    secondaryButtonKind: {
        type: PropType<ButtonKind>;
        default: string;
    };
    secondaryButtonDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    secondaryButtonLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeAriaLabel: {
        type: StringConstructor;
        required: true;
    };
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    close: (...args: any[]) => void;
    primaryClick: (...args: any[]) => void;
    secondaryClick: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    visible: {
        type: BooleanConstructor;
        required: true;
    };
    title: {
        type: StringConstructor;
        default: string;
    };
    kind: {
        type: PropType<ModalKind>;
        default: string;
    };
    size: {
        type: PropType<ModalSize>;
        default: string;
    };
    primaryLabel: {
        type: StringConstructor;
        default: string;
    };
    secondaryLabel: {
        type: StringConstructor;
        default: string;
    };
    cancelLabel: {
        type: StringConstructor;
        default: string;
    };
    primaryButtonKind: {
        type: PropType<PrimaryButtonKind>;
        default: string;
    };
    primaryButtonDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    primaryButtonLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    secondaryButtonKind: {
        type: PropType<ButtonKind>;
        default: string;
    };
    secondaryButtonDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    secondaryButtonLoading: {
        type: BooleanConstructor;
        default: boolean;
    };
    closeAriaLabel: {
        type: StringConstructor;
        required: true;
    };
}>> & Readonly<{
    onClose?: ((...args: any[]) => any) | undefined;
    onPrimaryClick?: ((...args: any[]) => any) | undefined;
    onSecondaryClick?: ((...args: any[]) => any) | undefined;
}>, {
    size: ModalSize;
    title: string;
    kind: ModalKind;
    primaryLabel: string;
    secondaryLabel: string;
    cancelLabel: string;
    primaryButtonKind: PrimaryButtonKind;
    primaryButtonDisabled: boolean;
    primaryButtonLoading: boolean;
    secondaryButtonKind: ButtonKind;
    secondaryButtonDisabled: boolean;
    secondaryButtonLoading: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
//# sourceMappingURL=NeModal.vue.d.ts.map