import { CompanyContext, UserContext } from './context'; import { CheckEvent, RawFlags } from './flag/flags'; /** * State of the client. */ export type State = "idle" | "initializing" | "initialized" | "stopped"; export interface HookArgs { stateUpdated: State; check: CheckEvent; flagsUpdated: RawFlags; optInFlagsLoadingUpdated: boolean; /** * @deprecated Use `flagsUpdated` instead. */ featuresUpdated: RawFlags; user: UserContext; company: CompanyContext; track: TrackEvent; } export type TrackEvent = { user: UserContext; company?: CompanyContext; eventName: string; attributes?: Record | null; }; /** * Hooks manager. * @internal */ export declare class HooksManager { private hooks; private _adjustEvent; addHook(event: THookType, cb: (arg0: HookArgs[THookType]) => void): () => void; removeHook(event: THookType, cb: (arg0: HookArgs[THookType]) => void): void; trigger(event: THookType, arg: HookArgs[THookType]): void; } //# sourceMappingURL=hooksManager.d.ts.map