/**
 * Props for the TextInput component.
 * @prop {string} modelValue - The model value of the input field.
 * @prop {string} errorMessage - The error message to display.
 * @prop {boolean} isCurrency - If true, the input field will format the value as currency. Default is false.
 * @prop {boolean} isNumber - If true, the input field will format the value as number. Default is false.
 * @prop {boolean} hasIcon - If true, the input field will have an icon. Default is false.
 * @prop {string} iconPosition - The position of the icon. Default is 'right'.
 * @prop {string} size - The size of the input field. Default is 'md'.
 */
interface TextInputProps {
    modelValue?: string;
    errorMessage?: string;
    isCurrency?: boolean;
    isNumber?: boolean;
    hasIcon?: boolean;
    iconPosition?: 'left' | 'right';
    size?: 'sm' | 'md' | 'lg';
}
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {}): any;
    };
    refs: {};
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import("vue").DefineComponent<TextInputProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (...args: any[]) => void;
    iconClick: (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<TextInputProps> & Readonly<{
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onIconClick?: ((...args: any[]) => any) | undefined;
}>, {
    size: "sm" | "md" | "lg";
    modelValue: string;
    errorMessage: string;
    isCurrency: boolean;
    isNumber: boolean;
    hasIcon: boolean;
    iconPosition: "left" | "right";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
