export interface loginDataInterface {
    username: string
    password: string
    ipAddress?: string
}

export interface changePinDataInterface {
    emailAddress: string
    pin: string
    confirmPIN: string
    resetCode: string
}

export interface changePasswdDataInterface {
    emailAddress: string
    password: string
    confirmPassword: string
    resetCode: string
}

export interface pinDataInterface {
    pin: string
    loginSessionCode: string
}

export interface LoginPinInterface {
    username: string
}

export interface changePinInterface {
    code: string
}
export interface StoreUser {
    userId: number
    userName: string
    firstName: string
    middleName?: string
    surName: string
    imageUrl: string
    emailAddress: string
    contactNo: string
    accessToken: string
    userGroupId: number
    clientCategoryId: number
    isParentCompany: number
    departmentId: number
    designationId: number
    userRights: UserRight[]
    departments: Department[]
    departmentReports: DepartmentReport[]
    departmentMenus: null
}

interface UserRight {
    userGroupRightId: number
    rightId: number
    rightType: number
    rightCode: string
    saveFlag: number
    updateFlag: number
    deleteFlag: number
    viewFlag: number
    printFlag: number
}

export interface forgotPin {
    email: string
}

export interface ResetPinResponse {
    isValid: boolean
    resetCode: string
    userName: string
    userFullName: string
    error: string | null
    isEmailSent: true
}
export interface Department {
    departmentId: number
    departmentName: string
    clientCategoryId: number
    clientCategoryName: string
    description: string
    activeStatus: boolean
}
export interface DepartmentReport {
    departmentReportId: number
    reportName: string
}
