import React from 'react';
import { TextInput, type TextInputProps, type StyleProp, type ViewStyle, type NativeSyntheticEvent, type TargetedEvent } from 'react-native';
export interface TextFieldProps extends Omit<TextInputProps, 'style'> {
    label?: string;
    variant?: 'filled' | 'outlined' | 'standard';
    color?: 'primary' | 'secondary' | 'error' | 'success' | 'warning';
    leading?: React.ReactNode | ((props: {
        color: string;
        size: number;
    }) => React.ReactNode | null) | null;
    trailing?: React.ReactNode | ((props: {
        color: string;
        size: number;
    }) => React.ReactNode | null) | null;
    error?: string;
    success?: boolean;
    loading?: boolean;
    disabled?: boolean;
    helperText?: string;
    maxLength?: number;
    showCharacterCount?: boolean;
    inputMask?: 'phone' | 'creditCard' | 'currency' | 'custom';
    customMask?: (value: string) => string;
    formatValue?: (value: string) => string;
    validateOnChange?: boolean;
    debounceMs?: number;
    passwordStrength?: boolean;
    clearable?: boolean;
    onMouseEnter?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
    onMouseLeave?: (event: NativeSyntheticEvent<TargetedEvent>) => void;
    style?: StyleProp<ViewStyle>;
    inputContainerStyle?: StyleProp<ViewStyle>;
    inputStyle?: TextInputProps['style'];
    leadingContainerStyle?: StyleProp<ViewStyle>;
    trailingContainerStyle?: StyleProp<ViewStyle>;
    onValidationChange?: (isValid: boolean, value: string) => void;
    onClear?: () => void;
}
declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<TextInput>>;
export default TextField;
//# sourceMappingURL=TextField.d.ts.map