import { hasSlotContent, removeClassStyleAttrs, addClassStyleAttrs } from '../../common/utils';
declare const _default: import('vue').DefineComponent<{
    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 | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    descriptionClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    selectClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    optionClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    labelChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    descriptionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    optionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
}, any, {
    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 | ArrayConstructor | StringConstructor)[];
            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 | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    descriptionClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    selectClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    optionClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    labelChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    descriptionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    optionChildProps: {
        type: ObjectConstructor;
        default: () => {};
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    onInput?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}, {
    label: string;
    disabled: boolean;
    size: string;
    description: string;
    options: unknown[];
    labelClass: string | Record<string, any> | unknown[];
    descriptionClass: string | Record<string, any> | unknown[];
    selectClass: string | Record<string, any> | unknown[];
    optionClass: string | Record<string, any> | unknown[];
    labelChildProps: Record<string, any>;
    descriptionChildProps: Record<string, any>;
    optionChildProps: Record<string, any>;
}, {}>;
export default _default;
//# sourceMappingURL=select_menu.vue.d.ts.map