import type { ServiceInstanceOptions } from '../../../providers/database/types.js';
import type { SetCacheParams, GetCacheParams } from '../types.js';
import { CacheRepository } from '../repositories/cache-repository.js';
export declare class CacheService {
    #private;
    constructor(repository: CacheRepository);
    static getInstance(options: ServiceInstanceOptions): Promise<CacheService>;
    /**
     * Get a cache entry by key and namespace
     */
    get<T extends Record<string, unknown>>(params: GetCacheParams): Promise<T | null>;
    /**
     * Set a cache entry with optional TTL
     */
    set(params: SetCacheParams): Promise<string | null>;
    /**
     * Delete a specific cache entry by key and namespace
     */
    delete(key: string, namespace: string): Promise<boolean>;
    /**
     * Delete all cache entries for a specific namespace
     */
    deleteByNamespace(namespace: string): Promise<boolean>;
    /**
     * Clear all cache entries
     */
    clear(): Promise<boolean>;
}
//# sourceMappingURL=cache-service.d.ts.map