export interface IOpalUserPermissions { permission_id: number; permission_name: string; } export interface IOpalUserBusinessUnitUser { business_unit_user_id: string; business_unit_id: number; permissions: IOpalUserPermissions[]; } export type OpalUserStateStatus = 'active' | 'created' | 'suspended' | 'deactivated'; export interface IOpalUserState { user_id: number; username: string; name: string; status: OpalUserStateStatus | null; version: number | null; business_unit_users: IOpalUserBusinessUnitUser[]; } export type OpalUserStateResponseStatus = 'ACTIVE' | 'PENDING' | 'SUSPENDED' | 'DEACTIVATED'; interface IOpalUserStateResponseDomain { business_unit_users: IOpalUserBusinessUnitUser[]; } export interface IOpalUserStateResponse { user_id: number; username: string; name: string; status: OpalUserStateResponseStatus | null; version: number | null; cache_name: string | null; domains: Record; } export interface IOpalUserPaths { loggedInUserState: string; }