import { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '../../common/utils';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    label: {
        type: StringConstructor;
        default: string;
    };
    description: {
        type: StringConstructor;
        default: string;
    };
    options: {
        type: ArrayConstructor;
        default: () => never[];
        validator: (options: unknown) => any;
    };
    size: {
        type: StringConstructor;
        default: string;
        validator: (s: unknown) => boolean;
    };
    labelClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    descriptionClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    selectClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    optionClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    labelChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    descriptionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    optionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    rootClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
}>, {}, {
    LABEL_SIZE_MODIFIERS: {
        xs: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    DESCRIPTION_SIZE_MODIFIERS: {
        xs: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    SELECT_SIZE_MODIFIERS: {
        xs: string;
        sm: string;
        md: string;
        lg: string;
        xl: string;
    };
    SELECT_STATE_MODIFIERS: {
        error: string;
        warning: string;
        success: string;
    };
    hasSlotContent: typeof hasSlotContent;
}, {
    selectListeners(): {
        input: () => void;
        change: (event: any) => void;
    };
    state(): string | null;
    selectKey(): string;
    descriptionKey(): string;
    labelAriaDetails(): unknown;
}, {
    removeClassStyleAttrs: typeof removeClassStyleAttrs;
    addClassStyleAttrs: typeof addClassStyleAttrs;
    emitValue(value: any, event: any): void;
    getOptionKey(value: any): string;
    validateOptionsPresence(): void;
}, {
    props: {
        messagesClass: {
            type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
            default: string;
        };
        messagesChildProps: {
            type: ObjectConstructor;
            default: () => {};
        };
        showMessages: {
            type: BooleanConstructor;
            default: boolean;
        };
        messages: {
            type: ArrayConstructor;
            default: () => never[];
            validator: (messages: any) => any;
        };
    };
    computed: {
        formattedMessages(): any;
    };
}, import('vue').ComponentOptionsMixin, ("input" | "change" | "update:modelValue")[], "input" | "change" | "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    label: {
        type: StringConstructor;
        default: string;
    };
    description: {
        type: StringConstructor;
        default: string;
    };
    options: {
        type: ArrayConstructor;
        default: () => never[];
        validator: (options: unknown) => any;
    };
    size: {
        type: StringConstructor;
        default: string;
        validator: (s: unknown) => boolean;
    };
    labelClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    descriptionClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    selectClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    optionClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    labelChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    descriptionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    optionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    rootClass: {
        type: (ObjectConstructor | StringConstructor | ArrayConstructor)[];
        default: string;
    };
    modelValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: string;
    };
}>> & Readonly<{
    onInput?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    label: string;
    disabled: boolean;
    modelValue: string | number;
    size: string;
    description: string;
    labelClass: string | unknown[] | Record<string, any>;
    rootClass: string | unknown[] | Record<string, any>;
    options: unknown[];
    descriptionClass: string | unknown[] | Record<string, any>;
    selectClass: string | unknown[] | Record<string, any>;
    optionClass: string | unknown[] | Record<string, any>;
    labelChildProps: Record<string, any>;
    descriptionChildProps: Record<string, any>;
    optionChildProps: Record<string, any>;
}, {}, {
    DtValidationMessages: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
        id: {
            type: StringConstructor;
            default(): string;
        };
        validationMessages: {
            type: ArrayConstructor;
            default: () => never[];
            validator: (messages: unknown) => any;
        };
        showMessages: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>, {}, {}, {
        isFilteredValidationMessagesEmpty(): boolean;
        filteredValidationMessages(): any;
        validationState(): string | null;
    }, {
        getMessageKey(type: any, index: any): string;
        messageTypeClass(type: any): any;
    }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
        id: {
            type: StringConstructor;
            default(): string;
        };
        validationMessages: {
            type: ArrayConstructor;
            default: () => never[];
            validator: (messages: unknown) => any;
        };
        showMessages: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        id: string;
        validationMessages: unknown[];
        showMessages: boolean;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
//# sourceMappingURL=select_menu.vue.d.ts.map