import type { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, PropType as __PropType } from 'vue'; /** * Props interface for GInput component * @version 0.1.1 */ export interface GInputProps { /** Model value for v-model binding */ modelValue?: number | string; /** Alternative value prop */ value?: number | string; /** Input type (any native input type, or 'textarea') */ type?: string; /** Reference to the input element */ el?: HTMLElement; /** * Visual variant style * Can be a single variant or multiple space-separated variants * @example 'filled' | 'outlined' | 'lined' | 'filled outlined' | 'outlined lined' */ variant?: string; /** Label text for the input */ label?: string | null; /** Error state */ error?: boolean; /** Props to pass to icon components */ iconProps?: Record; /** Autocomplete attribute value */ autocomplete?: string; /** Enable password reveal functionality */ passwordReveal?: boolean; /** Icons for password reveal button */ passwordIcon?: { show: string; hide: string; }; /** Make password reveal button focusable with tab */ revealFocusable?: boolean; /** Show clear button */ clearable?: boolean; /** Make clear button focusable with tab */ clearFocusable?: boolean; /** Icon for clear button */ clearIcon?: string; /** Auto-resize textarea as you type */ autoResize?: boolean; /** Auto-focus input on mount */ autoFocus?: boolean; /** Mark input as required */ required?: boolean; /** Icon name for left icon */ iconLeft?: string | null; /** Icon name for right icon */ iconRight?: string | null; /** Input mask pattern */ mask?: string; /** Options for IMask */ maskOptions?: Record; /** Formatted value (for masked inputs) */ formattedValue?: string; } export type GInputExposed = (HTMLInputElement | HTMLTextAreaElement) & { /** Reference to the underlying input/textarea element */ inputEl: HTMLInputElement | HTMLTextAreaElement | undefined; /** Focus the input */ focus: () => void; /** Blur the input */ blur: () => void; /** Select all text in the input */ select: () => void; /** Clear the input value */ clear: () => void; /** Resize the textarea (if autoResize is enabled) */ resize: () => void; /** Current input value */ inputValue: string; /** Whether input has an error */ hasError: boolean; }; declare const _sfc_main: DefineComponent; required: false; default: undefined; }; value: { type: __PropType; required: false; default: undefined; }; type: { type: __PropType; required: false; default: string; }; el: { type: __PropType; required: false; default: undefined; }; variant: { type: __PropType; required: false; default: string; }; label: { type: __PropType; required: false; default: null; }; error: { type: __PropType; required: false; default: boolean; }; iconProps: { type: __PropType | undefined>; required: false; default: undefined; }; autocomplete: { type: __PropType; required: false; default: string; }; passwordReveal: { type: __PropType; required: false; }; passwordIcon: { type: __PropType<{ show: string; hide: string; } | undefined>; required: false; default: () => { show: string; hide: string; }; }; revealFocusable: { type: __PropType; required: false; }; clearable: { type: __PropType; required: false; default: boolean; }; clearFocusable: { type: __PropType; required: false; default: boolean; }; clearIcon: { type: __PropType; required: false; default: string; }; autoResize: { type: __PropType; required: false; default: boolean; }; autoFocus: { type: __PropType; required: false; default: boolean; }; required: { type: __PropType; required: false; }; iconLeft: { type: __PropType; required: false; default: null; }; iconRight: { type: __PropType; required: false; default: null; }; mask: { type: __PropType; required: false; default: string; }; maskOptions: { type: __PropType | undefined>; required: false; default: () => {}; }; formattedValue: { type: __PropType; required: false; default: string; }; }>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("refMounted" | "update:el" | "update:modelValue" | "updated" | "cleared" | "update:value" | "update:formattedValue")[], "refMounted" | "update:el" | "update:modelValue" | "updated" | "cleared" | "update:value" | "update:formattedValue", PublicProps, Readonly; required: false; default: undefined; }; value: { type: __PropType; required: false; default: undefined; }; type: { type: __PropType; required: false; default: string; }; el: { type: __PropType; required: false; default: undefined; }; variant: { type: __PropType; required: false; default: string; }; label: { type: __PropType; required: false; default: null; }; error: { type: __PropType; required: false; default: boolean; }; iconProps: { type: __PropType | undefined>; required: false; default: undefined; }; autocomplete: { type: __PropType; required: false; default: string; }; passwordReveal: { type: __PropType; required: false; }; passwordIcon: { type: __PropType<{ show: string; hide: string; } | undefined>; required: false; default: () => { show: string; hide: string; }; }; revealFocusable: { type: __PropType; required: false; }; clearable: { type: __PropType; required: false; default: boolean; }; clearFocusable: { type: __PropType; required: false; default: boolean; }; clearIcon: { type: __PropType; required: false; default: string; }; autoResize: { type: __PropType; required: false; default: boolean; }; autoFocus: { type: __PropType; required: false; default: boolean; }; required: { type: __PropType; required: false; }; iconLeft: { type: __PropType; required: false; default: null; }; iconRight: { type: __PropType; required: false; default: null; }; mask: { type: __PropType; required: false; default: string; }; maskOptions: { type: __PropType | undefined>; required: false; default: () => {}; }; formattedValue: { type: __PropType; required: false; default: string; }; }>> & Readonly<{ onRefMounted?: ((...args: any[]) => any) | undefined; "onUpdate:el"?: ((...args: any[]) => any) | undefined; "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined; onUpdated?: ((...args: any[]) => any) | undefined; onCleared?: ((...args: any[]) => any) | undefined; "onUpdate:value"?: ((...args: any[]) => any) | undefined; "onUpdate:formattedValue"?: ((...args: any[]) => any) | undefined; }>, { error: boolean | undefined; label: string | null | undefined; type: string | undefined; variant: string | undefined; iconProps: Record | undefined; iconLeft: string | null | undefined; iconRight: string | null | undefined; autoFocus: boolean | undefined; mask: string | undefined; modelValue: string | number | undefined; value: string | number | undefined; clearable: boolean | undefined; autocomplete: string | undefined; el: HTMLElement | undefined; passwordIcon: { show: string; hide: string; } | undefined; clearFocusable: boolean | undefined; clearIcon: string | undefined; autoResize: boolean | undefined; maskOptions: Record | undefined; formattedValue: string | undefined; }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>; export default _sfc_main;