import type { ApiHost, Attributes, AutoExperiment, AutoExperimentVariation, ClientKey, Options, Experiment, FeatureApiResponse, FeatureDefinition, FeatureResult, FeatureUsageCallback, LoadFeaturesOptions, RefreshFeaturesOptions, RenderFunction, Result, SubscriptionFunction, TrackingCallback, TrackingData, WidenPrimitives, InitOptions, InitResponse, InitSyncOptions, PrefetchOptions, StickyAssignmentsDocument, EventLogger, LogUnion, DestroyOptions } from "./types/growthbook"; import { StickyBucketServiceSync } from "./sticky-bucket-service"; export declare class GrowthBook = Record> { private context; debug: boolean; ready: boolean; version: string; logs: Array; private _options; private _renderer; private _redirectedUrl; private _trackedExperiments; private _completedChangeIds; private _trackedFeatures; private _subscriptions; private _assigned; private _activeAutoExperiments; private _triggeredExpKeys; private _initialized; private _deferredTrackingCalls; private _saveStickyBucketAssignmentDoc; private _payload; private _decryptedPayload; private _destroyCallbacks; private _autoExperimentsAllowed; private _destroyed?; constructor(options?: Options); setPayload(payload: FeatureApiResponse): Promise; initSync(options: InitSyncOptions): GrowthBook; init(options?: InitOptions): Promise; /** @deprecated Use {@link init} */ loadFeatures(options?: LoadFeaturesOptions): Promise; refreshFeatures(options?: RefreshFeaturesOptions): Promise; getApiInfo(): [ApiHost, ClientKey]; getApiHosts(): { apiHost: string; streamingHost: string; apiRequestHeaders?: Record; streamingHostRequestHeaders?: Record; }; getClientKey(): string; getPayload(): FeatureApiResponse; getDecryptedPayload(): FeatureApiResponse; isRemoteEval(): boolean; getCacheKeyAttributes(): (keyof Attributes)[] | undefined; private _refresh; private _render; /** @deprecated Use {@link setPayload} */ setFeatures(features: Record): void; /** @deprecated Use {@link setPayload} */ setEncryptedFeatures(encryptedString: string, decryptionKey?: string, subtle?: SubtleCrypto): Promise; /** @deprecated Use {@link setPayload} */ setExperiments(experiments: AutoExperiment[]): void; /** @deprecated Use {@link setPayload} */ setEncryptedExperiments(encryptedString: string, decryptionKey?: string, subtle?: SubtleCrypto): Promise; setAttributes(attributes: Attributes): Promise; updateAttributes(attributes: Attributes): Promise; setAttributeOverrides(overrides: Attributes): Promise; setForcedVariations(vars: Record): Promise; setForcedFeatures(map: Map): void; setURL(url: string): Promise; getAttributes(): { [x: string]: any; }; getForcedVariations(): Record; getForcedFeatures(): Map; getStickyBucketAssignmentDocs(): Record; getUrl(): string; getFeatures(): Record>; getExperiments(): AutoExperiment[]; getCompletedChangeIds(): string[]; subscribe(cb: SubscriptionFunction): () => void; private _refreshForRemoteEval; getAllResults(): Map; result: Result; }>; onDestroy(cb: () => void): void; isDestroyed(): boolean; destroy(options?: DestroyOptions): void; setRenderer(renderer: null | RenderFunction): void; forceVariation(key: string, variation: number): void; run(experiment: Experiment): Result; triggerExperiment(key: string): Result[] | null; triggerAutoExperiments(): void; private _getEvalContext; private _getUserContext; private _getGlobalContext; private _runAutoExperiment; private _undoActiveAutoExperiment; private _updateAllAutoExperiments; private _onExperimentEval; private _fireSubscriptions; private _recordChangedId; isOn(key: K): boolean; isOff(key: K): boolean; getFeatureValue(key: K, defaultValue: V): WidenPrimitives; /** * @deprecated Use {@link evalFeature} * @param id */ feature(id: K): FeatureResult; evalFeature(id: K): FeatureResult; log(msg: string, ctx: Record): void; getDeferredTrackingCalls(): TrackingData[]; setDeferredTrackingCalls(calls: TrackingData[]): void; fireDeferredTrackingCalls(): Promise; setTrackingCallback(callback: TrackingCallback): void; setFeatureUsageCallback(callback: FeatureUsageCallback): void; setEventLogger(logger: EventLogger): void; logEvent(eventName: string, properties?: Record): Promise; private _saveDeferredTrack; private _getContextUrl; private _isAutoExperimentBlockedByContext; getRedirectUrl(): string; private _getNavigateFunction; private _applyDOMChanges; refreshStickyBuckets(data?: FeatureApiResponse): Promise; generateStickyBucketAssignmentDocsSync(stickyBucketService: StickyBucketServiceSync, payload: FeatureApiResponse): Record | undefined; inDevMode(): boolean; } export declare function prefetchPayload(options: PrefetchOptions): Promise; //# sourceMappingURL=GrowthBook.d.ts.map