import { type ChartModuleDefinition } from 'ag-charts-core';
import type { AgChartThemeParams } from 'ag-charts-types';
export interface StructuralCacheEntry {
    /** `processedOptions` with `data` and `VOLATILE_KEYS` stripped. */
    processedOptions: unknown;
    themeParameters: AgChartThemeParams;
    googleFonts: Set<string> | undefined;
    fonts: Set<string> | undefined;
    annotationThemes: any;
    chartDef: ChartModuleDefinition<any>;
}
/**
 * Per-instance keys that reach `processedOptions`. Stripped before caching and re-attached
 * from the chart's `userOptions` on hit, otherwise charts sharing an entry would alias each
 * other's container reference and user-supplied context payload.
 */
export declare const VOLATILE_KEYS: readonly ["container", "context"];
export declare function computeStructuralCacheKey(options: object): string | undefined;
export declare function getStructuralCacheEntry(key: string): StructuralCacheEntry | undefined;
export declare function setStructuralCacheEntry(key: string, value: StructuralCacheEntry): void;
/** Test-only: drop all cached entries so cases start from a known cold state. */
export declare function __clearStructuralCacheForTests(): void;
