import { TCacheEntry, TKey } from '../types/cache-types';
declare class AbitCache {
    #private;
    static getInstance(): AbitCache;
    get(key: TKey): TCacheEntry | undefined;
    set(key: TKey, value: TCacheEntry): Map<string, TCacheEntry>;
    delete(key: TKey): boolean;
    has(key: TKey): boolean;
    clear(): void;
    deleteMatching(pattern: string): void;
    addRequest(key: TKey, controller: AbortController): void;
    cancelRequest(key: TKey): void;
    deleteRequest(key: TKey): boolean;
    clearRequests(): void;
    setSuspensePromise(key: TKey, promise: Promise<void>): Map<string, Promise<void>>;
    getSuspensePromise(key: TKey): Promise<void> | undefined;
    deleteSuspensePromise(key: TKey): boolean;
    clearSuspensePromise(): void;
    setKeyLastRequestTime(key: TKey, timestamp: number): Map<string, number>;
    getLastKeyRequestTime(key: TKey): number | undefined;
    deleteLastKeyRequestTime(key: TKey): boolean;
    clearKeyLastRequestTimes(): void;
}
export default AbitCache;
