import { FetchState, ID } from '../../commonStateTypes/common'; import { ZeniAPIStatus } from '../../responsePayload'; import { RootState } from '../../rootStateTypes'; import { CompanyState } from '../company/companyState'; import { Company, CompanyBillPayInfo, CompanyChargeCardInfo, CompanyDebitCardInfo, CompanyLocaleInfo, CompanyReimbursementInfo, CompanyTreasuryInfo, CompanyZeniAccountInfo } from '../company/companyStateTypes'; import { SubscriptionSummary } from '../subscription/subscriptionSummary/subscriptionSummaryState'; import { UserRoleType } from '../userRole/userRoleType'; import { RoleResource, Tenant, TenantExternalConnections, TenantState } from './tenantState'; export interface TenantView extends Tenant { company?: Company; } export interface TenantCoreDetailsView { companyId: ID; tenantEmailDomain: string; tenantId: ID; tenantName?: string; } export interface TenantBaseView extends TenantCoreDetailsView { companyName: string; userRole: UserRoleType[]; companyLocaleInfo?: CompanyLocaleInfo; } export declare function getTenant(tenantState: TenantState, companyState: CompanyState, tenantId: ID): TenantView | undefined; export declare function getTenantIdByCompanyId(tenantState: TenantState, companyId: ID): ID | undefined; declare function getTenantsByCheckInDate(tenantState: TenantState, companyState: CompanyState): { order: "descending_last_check_in"; tenantsInOrder: TenantView[]; }; export type TenantsOrdered = ReturnType; export declare const getTenantBaseViewForTenantId: (state: RootState, tenantId: ID) => TenantBaseView | undefined; export type TenantsBaseOrdered = { order: 'descending_last_check_in'; tenantsBaseInOrder: TenantBaseView[]; }; type TenantsCoreDetailsOrdered = { order: 'descending_last_check_in'; tenantsCoreDetailsInOrder: TenantCoreDetailsView[]; }; declare const getCurrentTenantHelper: (tenantState: TenantState, companyState: CompanyState) => TenantView & { excludedResources: { fetchState: FetchState; resources: RoleResource[]; error?: ZeniAPIStatus; } | undefined; externalConnections: TenantExternalConnections | undefined; subscriptionSummary: { fetchState: FetchState; summary?: SubscriptionSummary; } | undefined; companyBillPayInfo: { fetchState: FetchState; info?: CompanyBillPayInfo; } | undefined; companyReimbursementInfo: { fetchState: FetchState; info?: CompanyReimbursementInfo; } | undefined; companyZeniAccountInfo: { fetchState: FetchState; info?: CompanyZeniAccountInfo; } | undefined; companyChargeCardInfo: { fetchState: FetchState; info?: CompanyChargeCardInfo; } | undefined; companyDebitCardInfo: { fetchState: FetchState; info?: CompanyDebitCardInfo; } | undefined; companyTreasuryInfo: { fetchState: FetchState; info?: CompanyTreasuryInfo; } | undefined; }; export type CurrentTenant = ReturnType; export declare const getCurrentTenant: (state: RootState) => CurrentTenant; export declare const getTenantsByCheckInDateSelector: (state: RootState) => TenantsOrdered; export declare function getOnboardingTenantByTenantId(tenantState: TenantState, tenantId: ID): Tenant | undefined; export declare const getTenantBaseById: (state: RootState) => TenantBaseView[]; export declare const getTenantsBaseByCheckInDateSelector: (state: RootState) => TenantsBaseOrdered; export declare const getTenantsCoreDetailsByCheckInDateSelector: (state: RootState) => TenantsCoreDetailsOrdered; export declare const getTenantBaseViewForTenantView: (tenant: TenantView) => TenantBaseView; export declare const isZeniDomainTenant: (currentTenant: TenantView) => boolean; export declare const isTenantUsingZeniCOA: (currentTenant: TenantView) => boolean; export declare const getCurrentTenantExternalConnections: (tenantState: TenantState, companyState: CompanyState) => TenantExternalConnections | undefined; export declare const toTenantCoreDetailsView: (tenantsBaseView: TenantBaseView[]) => TenantCoreDetailsView[]; export declare const isTenantBankingOnly: (isDebitCardFlagEnabled: boolean, tenant: Tenant | undefined) => boolean; export declare const isTenantCardsOnly: (tenant: Tenant | undefined) => boolean; export declare const isTenantAccountingServicesEnabled: (tenant: Tenant | undefined) => boolean; export declare const getIsAccountingClassesEnabled: (state: RootState) => boolean; export declare const getIsAccountingProjectsEnabled: (state: RootState) => boolean; export declare const isTenantBookkeepingEnabled: (tenant: Tenant | undefined) => boolean; export declare const isOtherProductsEnabledForTenant: (tenant: Tenant | undefined) => boolean; export declare const isTenantTreasuryEnabled: (tenant: Tenant | undefined) => boolean; export declare const DEFAULT_RECEIPTS_EMAIL = "receipts@zeni.ai"; export declare function getReceiptsEmail(tenantState: TenantState, tenantId: ID | undefined): string; export {};