import { DynamicConfig, Layer, StatsigOptions, StatsigOverrides, StatsigUser } from 'statsig-js'; export interface StatsigStatic { initialize(sdkKey: string, user?: StatsigUser | null, options?: StatsigOptions | null): Promise; prefetchUsers(users: StatsigUser[]): Promise; checkGate(gateName: string, ignoreOverrides: boolean): boolean; getConfig(configName: string, ignoreOverrides: boolean): DynamicConfig; getExperiment(experimentName: string, keepDeviceValue: boolean, ignoreOverrides: boolean): DynamicConfig; getLayer(layerName: string, keepDeviceValue: boolean): Layer; logEvent(eventName: string, value: string | number | null, metadata: Record | null): void; updateUser(user: StatsigUser | null): Promise; shutdown(): void; overrideGate(gateName: string, value: boolean): void; overrideConfig(configName: string, value: object): void; removeGateOverride(name?: string): void; removeConfigOverride(name?: string): void; getAllOverrides(): StatsigOverrides; getStableID(): string; initializeCalled(): boolean; } export declare function staticImplements(): (constructor: U) => void;