import { FlagDocument, EvaluationContext, FlagValue, ExperimentAssignment, TrackingCallback, EvaluationReason } from './types'; /** * Result of an edge evaluation for a single flag. */ export interface EdgeEvaluationResult { value: FlagValue; reason: EvaluationReason; assignment?: ExperimentAssignment; } /** * Offline / Local Evaluator Engine. * Takes a pre-fetched `FlagDocument` and evaluates flags entirely in-memory * without making any HTTP calls. Perfect for edge workers or serverless. */ export declare class EdgeEvaluator { private document; private flagIndex; private readonly fallbackDefaults; private readonly trackingCallback?; constructor(document: FlagDocument, fallbackDefaults?: Record, trackingCallback?: TrackingCallback); /** * Update the internal document with a fresh one. * Optimized: skips rebuild if document version hasn't changed. */ updateDocument(document: FlagDocument): void; /** * Diff-based index update: only touches flags that changed. * Falls back to full rebuildIndex() when version info is inconsistent. */ private diffIndex; private rebuildIndex; /** * Evaluate a single flag against a context. */ evaluate(slug: string, context: EvaluationContext, localOverrides?: Record): EdgeEvaluationResult; /** * Evaluate all flags in the document at once. */ evaluateAll(context: EvaluationContext, localOverrides?: Record): Record; private evaluateInner; }