import type { BeanCollection } from '../../context/context';
import type { AgColumn } from '../../entities/agColumn';
import { AgProvidedColumnGroup } from '../../entities/agProvidedColumnGroup';
/** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */
export declare class ColWrapperCache {
    private readonly entries;
    private readonly context;
    constructor(beans: BeanCollection);
    /** Return the cached wrapper for `(col, depth)`, or build one. Stamps `buildToken` so a later
     *  `evict(buildToken)` drops wrappers not refreshed this build. */
    wrap(col: AgColumn, depth: number, buildToken: number): AgColumn | AgProvidedColumnGroup;
    /** Destroy and remove entries whose token doesn't match the current build. */
    evict(buildToken: number): void;
    /** Destroy all cached wrapper chains and clear the cache. */
    destroy(): void;
}
