import { Cache, TTL } from '../cache/Cache.js';
import { Service } from '../core/Service.js';
export default class CacheService extends Service {
    static key: string;
    private cache;
    get TTL(): typeof TTL;
    constructor();
    getCache(): Cache;
    /**
     * Store data in the cache with optional TTL
     *
     * @param key - The key to store the data under
     * @param data - The data to store
     * @param ttl - Time to live in milliseconds
     * @returns A promise that resolves to true if the data was stored successfully, false otherwise
     */
    set<T>(key: string, data: T, ttl?: number): Promise<boolean>;
    /**
     * Retrieve data from the cache with type safety
     */
    get<T = unknown>(key: string): Promise<T | null>;
    /**
     * Delete a specific cache item
     */
    delete(key: string): Promise<boolean>;
    clear(): Promise<void>;
    destroy(): Promise<void>;
}
//# sourceMappingURL=CacheService.d.ts.map