/** * */ export type UpgradePreconditions = { readonly id: string; readonly customerId: string; controlHubIntegration: string; numberOfAvailableLicences: number; }; /** * */ export type SiteInfrastructureSummary = { readonly id: string; readonly customerId: string; totalSites: number; totalLocations: number; totalPSTNs: number; }; /** * @internal */ type _UpgradeSummary = { readonly id: string; readonly customerId: string; total: number; totalUpgraded: number; pendingActivation?: number; totalReady: number; }; /** * */ export type UpgradeSummary = { [key in keyof _UpgradeSummary as (_UpgradeSummary[key] extends number ? `${key}${T}` : key)]: _UpgradeSummary[key]; }; /** * */ export type UpgradeReadiness = Omit, `totalUpgraded${T}`>; /** * */ export type UsersUpgradeSummary = UpgradeSummary<'Users'>; /** * */ export type SitesUpgradeSummary = UpgradeSummary<'Sites'>; /** * */ export type UsersUpgradeReadiness = UpgradeReadiness<'Users'>; /** * */ export type SitesUpgradeReadiness = UpgradeReadiness<'Sites'>; export {};