import { BeforeSubmitResultType } from "./language-textbox.props";
import { LanguageItem } from "./types";
/**
 * Dial 提供了一个仪表盘组件。
 *
 * @example
 * ```vue
 * <template>
 *     <div style="width: 300px;">
 *     <f-language-textbox :id="'myLanguage-textbox'" :languages="languages" v-model="myData"  :editable="true"></f-language-textbox>
 *     </div>
 *     <div class="d-flex mt-3">
 *         {{myData}}
 *     </div>
 * </template>
 * <script lang="ts" setup>
 * import { ref } from "vue";
 * const languages = ref([
 *     {
 *         code: "en",
 *         name: "English"
 *     },
 *     {
 *         code: "zh-CHS",
 *         name: "中文"
 *     },
 *     {
 *         code: "ja",
 *         name: "日本語"
 *     },
 *     {
 *         code: "ko",
 *         name: "한국어"
 *     },
 *     {
 *         code: "fr",
 *         name: "Français"
 *     }
 *
 * ]);
 *
 * const myData = ref({
 *     en: "Hello",
 *     "zh-CHS": "你好",
 *     ja: "こんにちは",
 *     ko: "안녕하세요",
 *     fr: "Bonjour"
 * })
 *
 *
 * </script>
 * ```
 *
 * @public
 */
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    id: {
        type: StringConstructor;
        required: boolean;
    };
    languages: {
        type: import("vue").PropType<LanguageItem[]>;
        default: never[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    maxWords: {
        type: import("vue").PropType<import("./types").LanguageTextMaxLength>;
        default: null;
    };
    modelValue: {
        type: import("vue").PropType<import("./types").LanguageData>;
        default: null;
    };
    dropDownIcon: {
        type: StringConstructor;
        default: string;
    };
    tabIndex: {
        type: NumberConstructor;
        default: number;
    };
    enableClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    enableTitle: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxLength: {
        type: NumberConstructor;
        default: null;
    };
    expandable: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandMode: {
        type: StringConstructor;
        default: string;
    };
    expandContent: {
        type: StringConstructor;
        default: string;
    };
    expandDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    needConfirm: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeSubmit: {
        type: import("vue").PropType<(value: any) => BeforeSubmitResultType>;
    };
    allowShowLanguage: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => any, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "expandClick")[], "update:modelValue" | "expandClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    id: {
        type: StringConstructor;
        required: boolean;
    };
    languages: {
        type: import("vue").PropType<LanguageItem[]>;
        default: never[];
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    maxWords: {
        type: import("vue").PropType<import("./types").LanguageTextMaxLength>;
        default: null;
    };
    modelValue: {
        type: import("vue").PropType<import("./types").LanguageData>;
        default: null;
    };
    dropDownIcon: {
        type: StringConstructor;
        default: string;
    };
    tabIndex: {
        type: NumberConstructor;
        default: number;
    };
    enableClear: {
        type: BooleanConstructor;
        default: boolean;
    };
    enableTitle: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxLength: {
        type: NumberConstructor;
        default: null;
    };
    expandable: {
        type: BooleanConstructor;
        default: boolean;
    };
    expandMode: {
        type: StringConstructor;
        default: string;
    };
    expandContent: {
        type: StringConstructor;
        default: string;
    };
    expandDisabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    needConfirm: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeSubmit: {
        type: import("vue").PropType<(value: any) => BeforeSubmitResultType>;
    };
    allowShowLanguage: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onExpandClick?: ((...args: any[]) => any) | undefined;
}>, {
    disabled: boolean;
    readonly: boolean;
    placeholder: string;
    modelValue: import("./types").LanguageData;
    languages: LanguageItem[];
    editable: boolean;
    maxWords: import("./types").LanguageTextMaxLength;
    dropDownIcon: string;
    tabIndex: number;
    enableClear: boolean;
    enableTitle: boolean;
    maxLength: number;
    expandable: boolean;
    expandMode: string;
    expandContent: string;
    expandDisabled: boolean;
    needConfirm: boolean;
    allowShowLanguage: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
