import React from 'react';
export interface InputProps {
    /**
     * Label for the input
     */
    label?: string;
    /**
     * Error message to display
     */
    error?: string;
    /**
     * Helper text to display below the input
     */
    helperText?: string;
    /**
     * Size of the input
     */
    size?: 'sm' | 'md' | 'lg';
    /**
     * Whether the input is required
     */
    isRequired?: boolean;
    /**
     * ID for the input
     */
    id?: string;
    /**
     * Name for the input
     */
    name?: string;
    /**
     * Value of the input
     */
    value?: string;
    /**
     * Placeholder text
     */
    placeholder?: string;
    /**
     * Change handler for the input
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * Type of the input
     */
    type?: string;
    /**
     * Whether the input is disabled
     */
    isDisabled?: boolean;
    /**
     * Whether the input is read-only
     */
    isReadOnly?: boolean;
    /**
     * Autocomplete attribute
     */
    autoComplete?: string;
    /**
     * Pattern for input validation
     */
    pattern?: string;
    /**
     * Minimum value for number inputs
     */
    min?: string | number;
    /**
     * Maximum value for number inputs
     */
    max?: string | number;
    /**
     * Step value for number inputs
     */
    step?: string | number;
    /**
     * Maximum length for text inputs
     */
    maxLength?: number;
    /**
     * Minimum length for text inputs
     */
    minLength?: number;
    /**
     * ARIA label
     */
    'aria-label'?: string;
    /**
     * ARIA described by
     */
    'aria-describedby'?: string;
    /**
     * ARIA invalid
     */
    'aria-invalid'?: boolean | 'true' | 'false';
    /**
     * Element to display on the left side of the input
     */
    leftElement?: React.ReactNode;
    /**
     * Element to display on the right side of the input
     */
    rightElement?: React.ReactNode;
    /**
     * Whether to focus the input on mount
     */
    autoFocus?: boolean;
    /**
     * Callback when input is focused
     */
    onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
    /**
     * Callback when input loses focus
     */
    onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
    /**
     * Data test ID for testing
     */
    'data-testid'?: string;
}
export declare const Input: React.NamedExoticComponent<InputProps>;
export default Input;
//# sourceMappingURL=Input.d.ts.map