import type { MultiSelectOnChangeProps, SingleSelectOnChangeProps } from '../../../ui/atoms/Select/Select.types';
import type { Translatable } from '../../../../../types';
import type { CountryCode } from '../../../../types/datasets/country-code';
import type { FormUtils } from '../../../../utils/formUtils';
import type { AdditionalIdentityInfoSchema } from '../../forms/AdditionalPersonalDetails/Identity/Identity.types';
import type { IdentityNumberSchema } from '../IdentityNumber/type';
export interface DriversLicenseSchema {
    idNumber?: IdentityNumberSchema['idNumber'];
    licenseCardNumber?: AdditionalIdentityInfoSchema['licenseCardNumber'];
    issuerState?: AdditionalIdentityInfoSchema['issuerState'];
}
export interface DriversLicenseProps {
    country: CountryCode;
    driversLicense: DriversLicenseSchema;
    onIssuerStateChange?: (event: SingleSelectOnChangeProps | MultiSelectOnChangeProps) => void;
    onLicenseNumberInput: (value: string) => void;
    onLicenseNumberBlur: (event: Event) => void;
    onCardNumberInput: (value: string) => void;
    onCardNumberBlur: (event: Event) => void;
    formUtils: FormUtils<DriversLicenseSchema>;
    isValid: Partial<Record<keyof DriversLicenseSchema, boolean>>;
    errorMessages: Partial<Record<keyof DriversLicenseSchema, Translatable | boolean>>;
    guidanceText: Partial<Record<keyof DriversLicenseSchema, string>>;
    shouldValidate?: boolean;
}
