/**
 * Simple in-memory cache implementation
 */
type TCacheConfig = {
    enabled: boolean;
    ttl: number;
    maxSize?: number;
};
export declare class Cache {
    private store;
    private config;
    constructor(config?: Partial<TCacheConfig>);
    private createKey;
    private isExpired;
    private cleanup;
    get<T>(method: string, url: string, params?: any): T | null;
    set<T>(method: string, url: string, value: T, params?: any, customTTL?: number): void;
    invalidate(pattern?: string): void;
    invalidateByUrl(url: string): void;
    clear(): void;
    size(): number;
    setEnabled(enabled: boolean): void;
    setTTL(ttl: number): void;
}
export declare function createCache(config?: Partial<TCacheConfig>): Cache;
export type { TCacheConfig };
//# sourceMappingURL=cache.d.ts.map