export interface ContextData { distinctId?: string sessionId?: string properties?: Record } export interface ContextOptions { /** * If true, replaces the current context entirely. * If false, merges with the existing context (new values override existing ones). * @default false */ fresh?: boolean } export interface IPostHogContext { get(): ContextData | undefined run(context: ContextData, fn: () => T, options?: ContextOptions): T enter(context: ContextData, options?: ContextOptions): void }