import { IStorage } from "./storage-types";
import { ICachingOptions } from "./cache-container-types";
import Context from "../context/context";
export declare class CacheContainer {
    private storage;
    constructor(storage: IStorage);
    getItem<T>(ctx: Context, key: string): Promise<T | undefined>;
    setItem(ctx: Context, key: string, content: unknown, options: Partial<ICachingOptions>): Promise<void>;
    removeItem<T>(ctx: Context, key: string, returnData?: boolean, forcePostHook?: boolean): Promise<T | undefined | void>;
    release(ctx: Context, key: string): Promise<void>;
    clear(): Promise<void>;
    private isItemExpired;
    private cleanupItem;
}
