/**
 * Maps DAP integer variableReference values to SDAPI object_path strings.
 *
 * DAP clients request variables by integer reference. The SDAPI uses
 * dot-delimited object paths for navigating the object tree. This store
 * bridges the two models and supports scope-filtered variable requests.
 *
 * References are cleared whenever execution resumes (continue/step) because
 * SDAPI variable state is only valid while a thread is halted.
 *
 * @module operations/debug/variable-store
 */
export interface VariableRef {
    threadId: number;
    frameIndex: number;
    objectPath: string;
    /** If set, this reference is for a scope — filter /variables by this scope. */
    scope?: 'local' | 'closure' | 'global';
}
export declare class VariableStore {
    private nextRef;
    private readonly refs;
    /**
     * Get or create an integer reference for the given variable context.
     */
    getOrCreateReference(threadId: number, frameIndex: number, objectPath: string, scope?: 'local' | 'closure' | 'global'): number;
    /**
     * Resolve an integer reference back to its variable context.
     */
    resolve(ref: number): VariableRef | undefined;
    /**
     * Clear all references. Call on continue/step since variable state becomes stale.
     */
    clear(): void;
}
