export type SignUpParams = {
    email: string;
    password: string;
    lastName: string;
    firstName: string;
    phoneCountryCode?: string;
    phoneAreaCode: string;
    phoneNumber: string;
};

export interface IUserView {
    id: string;
    email: string;
    firstName: string;
    lastName: string;
    fullName: string;
    avatar: string;
    phoneNumber: string;
    phoneCountryCode: string;
    phoneAreaCode: string;
    formattedPhoneNumber: string;
    street: string;
    streetNumber: string;
    builingFloor: string;
    buildingApartament: string;
    block: string;
    city: string;
    state: string;
    country: string;
    zipCode: string;
}

export interface CollaboratorView {
    id: string;
    email: string;
    fullName: string;
    avatar: string;
}

export interface UserAssistanceInfo {
    message: string;
    email?: string;
    fullName?: string;
    verificated: boolean;
    activationCode?: string;
    recoveryCode?: string;
}

export type FindAssistanceUserParams = {
    email: string;
    sessionUser: string;
};

export type FindCollaboratorByEmailParams = {
    email: string;
};

export type UpdateUserParams = {
    id: string;
    firstName?: string;
    lastName?: string;
    street?: string;
    streetNumber?: string;
    builingFloor?: string;
    buildingApartament?: string;
    block?: string;
    city?: string;
    state?: string;
    country?: string;
    zipCode?: string;
    phoneCountryCode?: string;
    phoneAreaCode?: string;
    phoneNumber?: string;
    sessionUser: string;
};

export type ChangePasswordParams = {
    oldPassword: string;
    newPassword: string;
    sessionUser: string;
};

export type RecoveryAccountParams = {
    email: string;
    recoveryCode?: string;
    newPassword?: string;
    sendRecoveryCode: boolean;
};

export type DeleteUserParams = {
    sessionUser: string;
};

export type SavePayerEmailParams = {
    email: string;
    sessionUser: string;
};

export type GetPayerEmailParams = {
    sessionUser: string;
};

export type CheckUserPhoneParams = {
    sessionUser: string;
};

export interface PayerEmailResult {
    mpPayerEmail?: string;
}
