import { PropType } from 'vue';
type Option = {
    disabled?: boolean;
    label?: string;
    selected?: boolean;
    value?: string;
};
declare const CFormSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /**
     * Provide valuable, actionable feedback.
     *
     * @since 4.3.0
     */
    feedback: StringConstructor;
    /**
     * Provide valuable, actionable feedback.
     *
     * @since 4.3.0
     */
    feedbackInvalid: StringConstructor;
    /**
     * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
     *
     * @since 4.3.0
     */
    feedbackValid: StringConstructor;
    /**
     * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
     *
     * @since 4.3.0
     */
    floatingLabel: StringConstructor;
    /**
     * Specifies the number of visible options in a drop-down list.
     */
    htmlSize: NumberConstructor;
    /**
     * The id global attribute defines an identifier (ID) that must be unique in the whole document.
     */
    id: StringConstructor;
    /**
     * Set component validation state to invalid.
     */
    invalid: BooleanConstructor;
    /**
     * Add a caption for a component.
     *
     * @since 4.3.0
     */
    label: StringConstructor;
    /**
     * The default name for a value passed using v-model.
     */
    modelValue: {
        type: PropType<string | string[]>;
    };
    multiple: BooleanConstructor;
    /**
     * Options list of the select component. Available keys: `label`, `value`, `disabled`.
     * Examples:
     * - `:options="[{ value: 'js', label: 'JavaScript' }, { value: 'html', label: 'HTML', disabled: true }]"`
     * - `:options="['js', 'html']"`
     */
    options: PropType<Option[] | string[]>;
    /**
     * Size the component small or large.
     *
     * @values 'sm' | 'lg'
     */
    size: {
        type: StringConstructor;
        validator: (value: string) => boolean;
    };
    /**
     * Add helper text to the component.
     *
     * @since 4.3.0
     */
    text: StringConstructor;
    /**
     * Display validation feedback in a styled tooltip.
     *
     * @since 4.3.0
     */
    tooltipFeedback: BooleanConstructor;
    /**
     * Set component validation state to valid.
     */
    valid: BooleanConstructor;
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:modelValue")[], "change" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * Provide valuable, actionable feedback.
     *
     * @since 4.3.0
     */
    feedback: StringConstructor;
    /**
     * Provide valuable, actionable feedback.
     *
     * @since 4.3.0
     */
    feedbackInvalid: StringConstructor;
    /**
     * Provide valuable, actionable invalid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
     *
     * @since 4.3.0
     */
    feedbackValid: StringConstructor;
    /**
     * Provide valuable, actionable valid feedback when using standard HTML form validation which applied two CSS pseudo-classes, `:invalid` and `:valid`.
     *
     * @since 4.3.0
     */
    floatingLabel: StringConstructor;
    /**
     * Specifies the number of visible options in a drop-down list.
     */
    htmlSize: NumberConstructor;
    /**
     * The id global attribute defines an identifier (ID) that must be unique in the whole document.
     */
    id: StringConstructor;
    /**
     * Set component validation state to invalid.
     */
    invalid: BooleanConstructor;
    /**
     * Add a caption for a component.
     *
     * @since 4.3.0
     */
    label: StringConstructor;
    /**
     * The default name for a value passed using v-model.
     */
    modelValue: {
        type: PropType<string | string[]>;
    };
    multiple: BooleanConstructor;
    /**
     * Options list of the select component. Available keys: `label`, `value`, `disabled`.
     * Examples:
     * - `:options="[{ value: 'js', label: 'JavaScript' }, { value: 'html', label: 'HTML', disabled: true }]"`
     * - `:options="['js', 'html']"`
     */
    options: PropType<Option[] | string[]>;
    /**
     * Size the component small or large.
     *
     * @values 'sm' | 'lg'
     */
    size: {
        type: StringConstructor;
        validator: (value: string) => boolean;
    };
    /**
     * Add helper text to the component.
     *
     * @since 4.3.0
     */
    text: StringConstructor;
    /**
     * Display validation feedback in a styled tooltip.
     *
     * @since 4.3.0
     */
    tooltipFeedback: BooleanConstructor;
    /**
     * Set component validation state to valid.
     */
    valid: BooleanConstructor;
}>> & Readonly<{
    onChange?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    invalid: boolean;
    valid: boolean;
    tooltipFeedback: boolean;
    multiple: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export { CFormSelect };
