import { ExtractPropTypes, PropType } from "vue";
import { LanguageData, LanguageItem, LanguageTextMaxLength } from "./types";
export interface BeforeSubmitResult {
    isValid: boolean;
    message: string;
    messageType?: string;
}
export type BeforeSubmitResultType = BeforeSubmitResult | boolean;
export declare const languageTextBoxProps: {
    id: {
        type: StringConstructor;
        required: boolean;
    };
    languages: {
        type: 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: PropType<LanguageTextMaxLength>;
        default: null;
    };
    modelValue: {
        type: PropType<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;
    };
    needConfirm: {
        type: BooleanConstructor;
        default: boolean;
    };
    beforeSubmit: {
        type: PropType<(value: any) => BeforeSubmitResultType>;
    };
    allowShowLanguage: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export type LanguageTextBoxProps = ExtractPropTypes<typeof languageTextBoxProps>;
export declare const propsResolver: (schemaValue?: Record<string, any>, mergeDefaults?: boolean) => Record<string, any>;
export declare const propsResolverGenerator: (registerContext: import("../..").RegisterContext) => (schemaValue?: Record<string, any>, mergeDefaults?: boolean) => Record<string, any>;
