import { PaginationOrderEnum } from '../interfaces'; import { SubAccountAccessTypeEnum } from '../sub-tenants/interfaces'; export declare enum TenantSortByEnum { createdAt = "createdAt", name = "name", tenantId = "tenantId" } export interface ISwitchTenant { tenantId: string; silentReload?: boolean; } export interface ITenantsResponse { id: string; name: string; deletedAt: null; metadata: any; tenantId: string; vendorId: string; isReseller: boolean; createdAt: Date; updatedAt: Date; address?: string; timezone?: string; dateFormat?: string; timeFormat?: string; currency?: string; logo?: string; logoUrl?: string; } export declare enum TenantType { CUSTOMER = "customer", SPAM = "spam", TEST = "test", RESELLER = "reseller", HEADQUARTER = "headquarter" } export interface ITenantsResponseV2 extends ITenantsResponse { tenantType?: TenantType; domain?: string; address2?: string; countryCode?: string; state?: string; city?: string; postCode?: string; industry?: string; numberOfEmployees?: number; annualRevenue?: number; yearFounded?: number; totalFunding?: string; hasCustomLogin?: boolean; loginUrl?: string; applicationUrl?: string; alias?: string; } export interface ISubTenant { tenantId: string; tenantName?: string; status?: string; createdAt?: Date; level: number; } export interface ISubTenantTree { tenantId: string; tenantName?: string; status?: string; createdAt?: Date; children: ISubTenantTree[]; } export interface ITenantHierarchyNode { id: string; vendorId: string; tenantId: string; parentId: string; } export interface IParentTenant { tenantId: string; level: number; tenantName: string; status: string; createdAt: Date; } export interface IGetTenantsUserCountRequest { tenantIds: string[]; } export interface IGetTenantsUserCountResponse { tenantId: string; totalUsers: number; totalAccessAllowedUsers: number; } export interface SearchSubTenantsParams { _limit?: number; _offset?: number; _filter?: string; _subTenantId?: string; _sortBy?: TenantSortByEnum; _order?: PaginationOrderEnum; } export interface SearchSubTenantMetadata { isParent?: boolean; } export interface SearchSubTenantsResponse { tenantId: string; name: string; createdAt: Date; metadata: SearchSubTenantMetadata; isReseller?: boolean; subAccountAccessType?: SubAccountAccessTypeEnum; } export interface GetHierarchyMetadataParams { _tenantIds: string[]; } export interface GetHierarchyMetadataResponse { tenantId: string; totalSubTenants: number; isParent: boolean; }