export type SignUpFormData = {
    phone: string;
    phoneVerificationStatus: boolean;
    name: string;
    gender: string;
    password: string;
    birthDate: string;
    isUberDriver: boolean | undefined;
    vehicleType: string;
    vehicleModel: string;
    licensePlate: string;
    email: string;
    address: string;
    paymentMethod: string;
};

export type SignUpFormDataKey = keyof SignUpFormData;

export type HandleSignUpFormDataChange = <K extends SignUpFormDataKey>(
    field: K,
    value: SignUpFormData[K]
) => void;

export type forgetPasswordFormData = {
    phone: string;
    email:string;
    phoneVerificationStatus: boolean;
    otp: string;
    otpSent: boolean;
    otpAuthCompleted: boolean;
    newPassword: string;
    confirmedNewPassword: string;
};

export type forgetPasswordFormDataKey = keyof forgetPasswordFormData;

export type HandleForgetPasswordFormDataChange = <
    K extends forgetPasswordFormDataKey
>(
    field: K,
    value: forgetPasswordFormData[K]
) => void;
