export declare enum CacheDataType {
    Page = "Page",
    Constants = "Constants"
}
export default class Cache {
    #private;
    constructor(ttl: Record<CacheDataType, number>, maxEntries: Record<string, number>);
    setTTL(type: CacheDataType, ttl: number): void;
    setMaxEntries(type: CacheDataType, maxEntries: number): void;
    getMaxEntries(type: CacheDataType): number;
    get<T>(type: CacheDataType, key: string): T | undefined;
    put<T>(type: CacheDataType, key: string, value: T): boolean;
    reduceEntries(type: CacheDataType, reduceTo?: number): void;
    getKeys(type: CacheDataType): string[];
    clear(type?: CacheDataType): void;
    getOrSet<T>(type: CacheDataType, key: string, promiseCallback: () => Promise<T>): Promise<T>;
}
//# sourceMappingURL=Cache.d.ts.map