export declare class LRUCache<K, V> {
    private readonly maxSize;
    private readonly ttl;
    private cache;
    private accessOrder;
    private accessCounter;
    constructor(maxSize?: number, ttl?: number);
    get(key: K): V | undefined;
    set(key: K, value: V): void;
    delete(key: K): boolean;
    clear(): void;
    size(): number;
    private evictLRU;
    getStats(): {
        size: number;
        maxSize: number;
        hitRate: number;
        avgAge: number;
        totalAccesses: number;
    };
}
export declare class HyperscriptCache {
    private readonly domQueryCache;
    private readonly exprResultCache;
    private readonly cssMatchCache;
    private readonly formValueCache;
    private hits;
    private misses;
    querySelector(selector: string): Element | null;
    querySelectorAll(selector: string): Element[];
    getElementById(id: string): Element | null;
    getElementsByClassName(className: string): Element[];
    matches(element: Element, selector: string): boolean;
    getExpressionResult(exprKey: string): any;
    setExpressionResult(exprKey: string, result: any): void;
    getFormValue(form: HTMLFormElement): any;
    setFormValue(form: HTMLFormElement, value: any): void;
    invalidateElementCache(element: Element): void;
    invalidateAll(): void;
    private getElementCacheKey;
    private getElementPosition;
    getPerformanceStats(): {
        hits: number;
        misses: number;
        hitRate: number;
        domQueryCache: {
            size: number;
            maxSize: number;
            hitRate: number;
            avgAge: number;
            totalAccesses: number;
        };
        exprResultCache: {
            size: number;
            maxSize: number;
            hitRate: number;
            avgAge: number;
            totalAccesses: number;
        };
        cssMatchCache: {
            size: number;
            maxSize: number;
            hitRate: number;
            avgAge: number;
            totalAccesses: number;
        };
        formValueCache: {
            size: number;
            maxSize: number;
            hitRate: number;
            avgAge: number;
            totalAccesses: number;
        };
    };
    cleanup(): void;
}
export declare const globalCache: HyperscriptCache;
//# sourceMappingURL=expression-cache.d.ts.map