import { CustomValidatorMessages } from '@zemkogabor/vue-form-validator';
import { PropType, Ref } from 'vue';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * Value for v-model
     */
    modelValue: {
        type: (StringConstructor | NumberConstructor | null)[];
        default: null;
    };
    /**
     * Html id
     */
    id: {
        type: StringConstructor;
        required: true;
    };
    /**
     * Label for input
     */
    label: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Attribute hint
     */
    hint: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Enable or disable validator
     */
    validatorEnabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Convert empty string to null
     */
    emptyStringToNull: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Trim input value
     */
    trim: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Custom validator messages, e.g. minlength validation with custom message
     */
    customValidatorMessages: {
        type: PropType<CustomValidatorMessages>;
        default: undefined;
    };
}>, {
    inputRef: Ref<HTMLInputElement | null, HTMLInputElement | null>;
    validator: {
        onInvalid: (event: Event) => void;
        getInvalidMessage: () => string | null;
        setCustomError: (data: string) => void;
    };
}, {}, {}, {
    /**
     * Hint id is generated
     */
    getHintId(): string;
    /**
     * On input event
     *
     * @param event
     */
    onInput(event: Event): void;
    /**
     * On invalid event
     *
     * @param event
     */
    onInvalid(event: Event): void;
}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    /**
     * Value for v-model
     */
    modelValue: {
        type: (StringConstructor | NumberConstructor | null)[];
        default: null;
    };
    /**
     * Html id
     */
    id: {
        type: StringConstructor;
        required: true;
    };
    /**
     * Label for input
     */
    label: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Attribute hint
     */
    hint: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Enable or disable validator
     */
    validatorEnabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Convert empty string to null
     */
    emptyStringToNull: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Trim input value
     */
    trim: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * Custom validator messages, e.g. minlength validation with custom message
     */
    customValidatorMessages: {
        type: PropType<CustomValidatorMessages>;
        default: undefined;
    };
}>> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
}>, {
    label: string;
    trim: boolean;
    modelValue: string | number | null;
    hint: string;
    validatorEnabled: boolean;
    emptyStringToNull: boolean;
    customValidatorMessages: CustomValidatorMessages;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
