import type { ApiHost, Attributes, ClientKey, ClientOptions, DestroyOptions, EventLogger, EventProperties, Experiment, FeatureApiResponse, FeatureDefinitions, FeatureResult, FeatureUsageCallback, InitOptions, InitResponse, InitSyncOptions, LogUnion, Plugin, RefreshFeaturesOptions, Result, TrackingCallback, TrackingCallbackWithUser, UserContext, WidenPrimitives } from "./types/growthbook"; import { StickyBucketService } from "./sticky-bucket-service"; export declare class GrowthBookClient = Record> { debug: boolean; ready: boolean; version: string; private _options; private _features; private _experiments; private _payload; private _decryptedPayload; private _destroyed?; constructor(options?: ClientOptions); setPayload(payload: FeatureApiResponse): Promise; initSync(options: InitSyncOptions): GrowthBookClient; init(options?: InitOptions): Promise; refreshFeatures(options?: RefreshFeaturesOptions): Promise; getApiInfo(): [ApiHost, ClientKey]; getApiHosts(): { apiHost: string; streamingHost: string; apiRequestHeaders?: Record; streamingHostRequestHeaders?: Record; }; getClientKey(): string; getPayload(): FeatureApiResponse; getDecryptedPayload(): FeatureApiResponse; private _refresh; getFeatures(): FeatureDefinitions; getGlobalAttributes(): Attributes; setGlobalAttributes(attributes: Attributes): void; destroy(options?: DestroyOptions): void; isDestroyed(): boolean; setEventLogger(logger: EventLogger): void; logEvent(eventName: string, properties: EventProperties, userContext: UserContext): void; runInlineExperiment(experiment: Experiment, userContext: UserContext): Result; private _getEvalContext; private _getGlobalContext; isOn(key: K, userContext: UserContext): boolean; isOff(key: K, userContext: UserContext): boolean; getFeatureValue(key: K, defaultValue: V, userContext: UserContext): WidenPrimitives; evalFeature(id: K, userContext: UserContext): FeatureResult; log(msg: string, ctx: Record): void; setTrackingCallback(callback: TrackingCallbackWithUser): void; setFeatureUsageCallback(callback: FeatureUsageCallback): void; applyStickyBuckets(partialContext: Omit, stickyBucketService: StickyBucketService): Promise; createScopedInstance(userContext: UserContext, userPlugins?: Plugin[]): UserScopedGrowthBook; } export declare class UserScopedGrowthBook = Record> { private _gb; private _userContext; logs: Array; constructor(gb: GrowthBookClient, userContext: UserContext, plugins?: Plugin[]); runInlineExperiment(experiment: Experiment): Result; isOn(key: K): boolean; isOff(key: K): boolean; getFeatureValue(key: K, defaultValue: V): WidenPrimitives; evalFeature(id: K): FeatureResult; logEvent(eventName: string, properties?: EventProperties): void; setTrackingCallback(cb: TrackingCallback): void; getApiInfo(): [ApiHost, ClientKey]; getClientKey(): string; setURL(url: string): void; updateAttributes(attributes: Attributes): void; setAttributeOverrides(overrides: Attributes): void; setForcedVariations(vars: Record): Promise; setForcedFeatures(map: Map): void; getUserContext(): UserContext; getVersion(): string; getDecryptedPayload(): FeatureApiResponse; inDevMode(): boolean; } //# sourceMappingURL=GrowthBookClient.d.ts.map