export declare const enum INPUT_STATE { Default = "default", Error = "error", Warning = "warning", Success = "success" } export declare const enum INPUT_SIZE { Large = "large", Medium = "medium", Small = "small" } export declare const enum INPUT_VARIANT { Outlined = "outlined", Filled = "filled", Borderless = "borderless", Underlined = "underlined" } export declare const enum INPUT_TYPE { PASSWORD = "password", TEXT = "text", NUMBER = "number", EMAIL = "email", URL = "url", TEL = "tel", SEARCH = "search", CALENDAR = "calendar" } export interface FocusOptions { preventScroll?: boolean; cursor?: 'start' | 'end' | 'all' | number; select?: boolean; } export interface BlurOptions { preventScroll?: boolean; restoreCursor?: boolean; } export interface FocusChangeEvent { focused: boolean; cursorPosition?: number; selectedText?: string; } /** * Validation rule interface */ export interface ValidationRule { /** Validation rule type */ type?: 'string' | 'number' | 'boolean' | 'method' | 'regexp' | 'integer' | 'float' | 'array' | 'object' | 'enum' | 'date' | 'url' | 'hex' | 'email'; /** Required field */ required?: boolean; /** Pattern to match */ pattern?: RegExp; /** Minimum length for string/array */ minLength?: number; /** Maximum length for string/array */ maxLength?: number; /** Minimum value for number */ min?: number; /** Maximum value for number */ max?: number; /** Enumerable values */ enum?: any[]; /** Custom validation message */ message?: string; /** Custom validator function */ validator?: (rule: ValidationRule, value: any) => Promise | void | { isValid: boolean; message?: string; } | Promise<{ isValid: boolean; message?: string; }>; /** Async validator function */ asyncValidator?: (rule: ValidationRule, value: any) => Promise; /** Transform value before validation */ transform?: (value: any) => any; /** Validation trigger */ trigger?: 'change' | 'blur' | 'submit'; /** Validation level */ warningOnly?: boolean; } /** * Input validation result */ export interface InputValidationResult { isValid: boolean; errors: string[]; warnings: string[]; hasError: boolean; hasWarning: boolean; errorMessage?: string; warningMessage?: string; } /** * Built-in validation patterns */ export declare const VALIDATION_PATTERNS: { readonly EMAIL: RegExp; readonly URL: RegExp; readonly PHONE: RegExp; readonly PASSWORD_STRONG: RegExp; readonly ALPHANUMERIC: RegExp; readonly NUMERIC: RegExp; readonly ALPHA: RegExp; readonly USERNAME: RegExp; readonly HEX_COLOR: RegExp; readonly IPV4: RegExp; readonly CREDIT_CARD: RegExp; }; /** * Pre-built validation rules */ export declare const VALIDATION_RULES: { readonly required: (message?: string) => ValidationRule; readonly email: (message?: string) => ValidationRule; readonly url: (message?: string) => ValidationRule; readonly minLength: (min: number, message?: string) => ValidationRule; readonly maxLength: (max: number, message?: string) => ValidationRule; readonly min: (min: number, message?: string) => ValidationRule; readonly max: (max: number, message?: string) => ValidationRule; readonly pattern: (pattern: RegExp, message?: string) => ValidationRule; readonly strongPassword: (message?: string) => ValidationRule; readonly phone: (message?: string) => ValidationRule; readonly username: (message?: string) => ValidationRule; readonly creditCard: (message?: string) => ValidationRule; }; export declare const EMPTY_STRING = ""; //# sourceMappingURL=input.types.d.ts.map