import { Size, Status, TestIdProps } from '../../../types';
/**
 * Input mode type for different input behaviors on mobile devices
 */
export type InputMode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
/**
 * Text input type variations
 */
export type TextInputType = 'text' | 'password' | 'email' | 'url' | 'tel' | 'search' | 'number';
/**
 * Props interface for InputText component
 */
export interface InputTextProps {
    /** Stable test id rendered on the root and interesting child elements */
    testId?: TestIdProps['testId'];
    /** Input label text */
    label?: string;
    /** Placeholder text */
    placeholder?: string;
    /** Description text shown below the label */
    description?: string;
    /** Instructions text shown below the input */
    instructions?: string;
    /** Whether the input is disabled */
    disabled?: boolean;
    /** Array of error messages to display */
    error?: string[];
    /** Maximum number of errors to display */
    maxErrors?: number;
    /** Input size variant */
    size?: Size;
    /** Input status for visual feedback */
    status?: Status;
    /** HTML input type */
    type?: TextInputType;
    /** Pattern for input validation (regex or common patterns) */
    pattern?: string;
    /** Maximum character length */
    maxlength?: number;
    /** Minimum character length */
    minlength?: number;
    /** Whether to autofocus on mount */
    autofocus?: boolean;
    /** Input mode for mobile keyboards */
    inputmode?: InputMode;
    /** Whether to show reset button when input has value */
    reset?: boolean;
    /** Whether to show input controls */
    controls?: boolean;
    /** Whether to auto-focus next input when max length is reached */
    autoFocusNext?: boolean;
    /** Auto complete */
    autoComplete?: string;
}
/**
 * Common text input patterns for validation
 */
export declare const TextInputPatterns: {
    /** Only numbers (0-9) */
    readonly NUMERIC: "0-9";
    /** Letters and numbers */
    readonly ALPHANUMERIC: "A-Za-z0-9";
    /** Only letters */
    readonly ALPHA: "A-Za-z";
    /** Only uppercase letters */
    readonly UPPERCASE: "A-Z";
    /** Only lowercase letters */
    readonly LOWERCASE: "a-z";
    /** Letters, numbers, and common symbols */
    readonly TEXT: "A-Za-z0-9\\s\\-\\.\\_";
    /** Username pattern (letters, numbers, underscore, hyphen) */
    readonly USERNAME: "A-Za-z0-9\\_\\-";
    /** Phone number pattern */
    readonly PHONE: "0-9\\+\\-\\(\\)\\s";
    /** Postal code pattern */
    readonly POSTAL_CODE: "A-Za-z0-9\\s\\-";
};
export type TextInputPattern = typeof TextInputPatterns[keyof typeof TextInputPatterns];
