import { SyntheticEvent } from 'react'; import { Validator } from '@mangopay/checkout-sdk-core'; import { TranslationKey } from '@mangopay/checkout-sdk-elements-core'; export type InputFieldElement = HTMLInputElement | HTMLSelectElement; export type Formatter = (value: string, event?: Event) => string; export type ValidationError = { type: T; message: string; }; export interface UseInputFieldParams { value: string; setValue: (value: string) => void; onChange?: (value: string, error?: ValidationError) => void; formatter?: Formatter; validation?: { validator: Validator; validationOrder: ValidationErrorType[]; validationMessageByErrorType?: Record; isCardFormValidationTriggered?: boolean; }; } export interface UseInputFieldResult { isDirty: boolean; isFocused: boolean; isValid: boolean; validationErrorType?: ValidationErrorType; validationErrorMessage?: string; validationResult?: Record; handleChange: (event: SyntheticEvent) => void; handleBlur: (event: SyntheticEvent) => void; handleFocus: (event: SyntheticEvent) => void; showErrorState: boolean; } export declare const useInputField: (params?: UseInputFieldParams | undefined) => UseInputFieldResult;