import Loader from '../Loaders/Loader'; /** * @class * @description This class connect to cdn the cdb balancer api and hepls to get data * @exports BalancerApiBusinessObject */ export default class BalancerApiBusinessObject { options?: any; private _loader; private _manifestMap; private _updateTimer; private _jwtAuthType?; private _jwtToken?; private _destroyed; private _pendingRequests; constructor(loader: Loader, jwtAuthType?: string, jwtToken?: string); loadBalancerData(accountCode: string, resource: string, isLive: boolean, updateTime: number, debug: boolean, isDev: boolean, signManifest: boolean, profileName?: string, bucketName?: string, optionsHost?: string, dynamicRules?: string, deviceInfo?: string, authData?: { [cdnName: string]: { [key: string]: any; }; }): Promise; destroy(): void; private createUpdateTimer; private getRouteAndFilename; /** * The key the decision-reload throttle stores and looks up. Rotating delivery directives and * cache-busters are ignored here so the per-manifest interval cannot be defeated by a query that * changes on every poll; the URL sent to /decision is always the raw one. * * Read and write MUST both go through this — a map keyed raw on one side and normalized on the * other never finds its own entry, which would disable the throttle instead of tightening it. */ private manifestMapKey; private shouldPerformDecision; private performHashmapCleanup; private deleteOldestFromManifestMap; }