/**
 * Representa el estado general del formulario.
 * Cada campo puede ser de cualquier tipo de dato.
 */
type FormState = Record<string, any>;
/**
 * Opciones adicionales para el registro de un campo.
 * Permite definir el tipo de input para personalizar los handlers.
 */
interface RegisterOptions {
    type?: 'text' | 'select' | 'switch' | 'range' | 'radio' | 'checkbox' | 'checkbox-multiple';
    value?: string;
}
/**
 * Custom hook para manejar formularios de manera sencilla en React Native.
 * @param initialState Estado inicial del formulario (campos y valores).
 */
declare function useFormLite(initialState?: FormState): {
    formData: FormState;
    onChange: (key: string, value: any) => void;
    resetForm: () => void;
    register: (key: string, options?: RegisterOptions) => {
        selectedValue: any;
        onValueChange: (value: any) => void;
        value?: undefined;
        onChangeText?: undefined;
    } | {
        value: any;
        onValueChange: (value: number) => void;
        selectedValue?: undefined;
        onChangeText?: undefined;
    } | {
        value: any;
        onValueChange: (value: boolean) => void;
        selectedValue?: undefined;
        onChangeText?: undefined;
    } | {
        value: any;
        onChangeText: (text: string) => void;
        selectedValue?: undefined;
        onValueChange?: undefined;
    };
    getEmptyFields: () => Record<string, string>;
};

export { useFormLite };
