import { Dimensions } from './Dimensions';
import { Frames } from './EncodingExecutor';
import { DataPrimitive } from './DataPrimitive';
import { OptionsStanza } from './AST';
type ScopeName = 'literal' | 'context' | 'datasources' | 'themes' | 'options';
export interface ScopedValue {
    location: ScopeName;
    val: DataPrimitive;
}
export declare class OptionScopes {
    executedOptions: Record<string, unknown>;
    context: Record<string, unknown>;
    frames: Frames;
    themeFunc: (themeVar: any) => any;
    bypassCloneDeepOptionScope: boolean;
    private local;
    private visitedPaths;
    private static SCOPES;
    constructor(optionsStanza: OptionsStanza, frames: Frames, themeFunc?: (themeVar: any) => any, bypassCloneDeepOptionScope?: boolean);
    resolve(identifier: string): ScopedValue;
    private static isQualified;
    private resolveUnqualifiedIdentifier;
    private resolveQualifiedIdentifier;
    pushLocalScope(o: Record<string, unknown>): void;
    popLocalScope(): void;
    addToVisitedList(path: string[]): void;
    removeFromVisitedList(path: string[]): void;
}
export interface Scopes {
    context: Record<string, unknown>;
    vizDims: Dimensions;
    frames: Frames;
}
export {};
