import { EvaluationContext } from '../interfaces/evaluation-context.interface'; import { EvaluationReason, EvaluationSource } from '../interfaces/evaluation-details.interface'; export declare const FeatureFlagEvents: { readonly EVALUATED: "feature-flag.evaluated"; readonly EXPOSED: "feature-flag.exposed"; readonly CREATED: "feature-flag.created"; readonly UPDATED: "feature-flag.updated"; readonly ARCHIVED: "feature-flag.archived"; readonly OVERRIDE_SET: "feature-flag.override.set"; readonly OVERRIDE_REMOVED: "feature-flag.override.removed"; readonly CACHE_INVALIDATED: "feature-flag.cache.invalidated"; }; export interface FlagEvaluatedEvent { flagKey: string; result: boolean; value?: boolean; context?: EvaluationContext; source: EvaluationSource; reason?: EvaluationReason; defaultUsed?: boolean; errorCode?: string; errorMessage?: string; matchedOverrideId?: string; bucket?: number; targetingKey?: string; evaluationTimeMs: number; } export interface FlagExposedEvent { flagKey: string; value: boolean; result: boolean; source: EvaluationSource; reason: EvaluationReason; defaultUsed: boolean; context?: EvaluationContext; matchedOverrideId?: string; bucket?: number; targetingKey?: string; evaluationTimeMs?: number; } export interface FlagMutationEvent { flagKey: string; action: 'created' | 'updated' | 'archived'; actorId?: string; actorType?: string; reason?: string; requestId?: string; correlationId?: string; } export interface FlagOverrideEvent { flagKey: string; attributes: Record; enabled?: boolean; priority?: number; action: 'set' | 'removed'; actorId?: string; actorType?: string; reason?: string; requestId?: string; correlationId?: string; }