import { CustomValidatorMessages } from '@zemkogabor/vue-form-validator';
import { PropType, Ref } from 'vue';
import { default as Option } from '../../types/Option.ts';
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    /**
     * Value for v-model
     */
    modelValue: {
        type: PropType<number | string | string[] | number[] | 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;
    };
    /**
     * Options
     */
    options: {
        type: PropType<Option[]>;
        required: true;
    };
    /**
     * Placeholder
     */
    placeholder: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Enable or disable validator
     */
    validatorEnabled: {
        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: PropType<number | string | string[] | number[] | 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;
    };
    /**
     * Options
     */
    options: {
        type: PropType<Option[]>;
        required: true;
    };
    /**
     * Placeholder
     */
    placeholder: {
        type: StringConstructor;
        default: undefined;
    };
    /**
     * Enable or disable validator
     */
    validatorEnabled: {
        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;
    modelValue: string | number | string[] | number[] | null;
    hint: string;
    validatorEnabled: boolean;
    customValidatorMessages: CustomValidatorMessages;
    placeholder: string;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
