export type User = {
    _id: string;
    name?: string;
    fullName?: string;
    key: number;
};
/**
 * User data in localStorage
 */
export interface UserLogin {
    _id: string;
    company: string;
    companyName: string;
    companyCode?: string;
    firstName?: string;
    lastName?: string;
    fullName?: string;
    profilePictureMedium?: string;
    profilePictureBig?: string;
    profilePictureSmall?: string;
    email: string;
    phoneNumber?: string;
    employeeId?: string;
    position?: string;
    token: string;
    transactionRoles?: TransactionRoles;
    systemRoles?: SystemRoles;
    generalSetting?: GeneralSetting;
    addOn?: AddOn;
}
interface AddOn {
    maintenance?: boolean;
    tracking?: boolean;
    audit?: boolean;
    repairTicketing?: boolean;
}
interface GeneralSetting {
    currency?: Currency;
    timezone?: string;
    dateFormat?: DateFormat;
    timeFormat?: boolean;
}
interface DateFormat {
    locale: string;
    year: string;
    month: string;
    day: string;
    weekday: string;
}
interface Currency {
    currency?: string;
    symbol?: string;
    locale?: string;
    label?: string;
    _id?: string;
    id?: string;
}
interface SystemRoles {
    importData?: SystemRoleItem;
    assetAttribute?: SystemRoleItem;
    assetPolicies?: SystemRoleItem;
    depreciationGroup?: SystemRoleItem;
    depreciationMethod?: SystemRoleItem;
    documentDeletion?: SystemRoleItem;
    group?: SystemRoleItem;
    user?: SystemRoleItem;
    iotReader?: SystemRoleItem;
    license?: SystemRoleItem;
    purchaseDocument?: SystemRoleItem;
    purchaseInformation?: SystemRoleItem;
    role?: SystemRoleItem;
    tag?: SystemRoleItem;
    registerAsset?: SystemRoleItem;
}
interface SystemRoleItem {
    create?: boolean;
    view?: boolean;
    update?: boolean;
    delete?: boolean;
}
interface TransactionRoles {
    trackingRole?: TransactionRoleItem;
    disposalRole?: TransactionRoleItem;
    borrowingRole?: TransactionRoleItem;
    transferRole?: TransactionRoleItem;
    auditRole?: TransactionRoleItem;
    repairRole?: TransactionRoleItem;
    maintenanceRole?: TransactionRoleItem;
}
interface TransactionRoleItem {
    manager?: boolean;
    monitoringReport?: boolean;
    staff?: boolean;
}
export {};
