export type TransactionRole = { admin: boolean; monitoringReport: boolean; staff: boolean; approver: boolean; }; export type SystemRole = { create: boolean; view: boolean; update: boolean; delete: boolean; }; export type CompanyAddon = 'stockOpname' | 'tracking'; export type SystemRoleAttribute = 'group' | 'itemAttribute' | 'itemStock' | 'itemPolicy' | 'userRole' | 'importData' | 'documentDeletion' | 'iotReader' | 'license' | 'tag' | 'openApi'; export type TransactionRoleAttribute = 'receptionSupplierReturn' | 'checkoutInternalReturn' | 'transfer' | 'defect' | 'expired' | 'disposal' | 'stockOpname' | 'trackingMissing'; export interface UserLogin { transactionRoles: Record; systemRoles: Record; userType: 'Admin' | 'Basic'; addOn: Record; isTotalControl: boolean; isReadOnly: boolean; } export declare const getUserLogin: () => UserLogin; export declare const getTransactionRole: (name: keyof UserLogin["transactionRoles"]) => TransactionRole; export declare const getSystemRole: (name: keyof UserLogin["systemRoles"]) => SystemRole; export declare const hasSystemRole: (name: SystemRoleAttribute) => boolean; export declare const hasTransactionRole: (name: TransactionRoleAttribute) => boolean; export declare const hasAdminRole: (name: TransactionRoleAttribute) => boolean; export declare const hasAnyAdminRole: () => boolean; export declare const hasAnyMonitoringReportRole: () => boolean; export declare const hasStaffRole: (name: TransactionRoleAttribute) => boolean; export declare const hasMonitoringReportRole: (name: TransactionRoleAttribute) => boolean; export declare const hasApprovalRole: (name: TransactionRoleAttribute) => boolean; export declare const isTotalControl: () => boolean; export declare const isReadOnly: () => boolean; export declare const companyHasAddon: (name: CompanyAddon) => boolean;