import { Cache } from 'cache-manager';
export declare class CacheDependencyService {
    private cacheManager;
    constructor(cacheManager: Cache);
    set<T>(key: string, value: T, ttl: number | null, dependencyKeys: string[]): Promise<string>;
    get<T>(key: string): Promise<T | null>;
    delete(key: string): Promise<boolean>;
    invalidate(dependencyKeys: string | Array<string>): Promise<boolean>;
    protected _generateDependencyVersions(dependencyKeys: Array<string>): Promise<Dependency[]>;
    protected _getDependencyVersions(dependencyKeys: Array<string>): Promise<Dependency[]>;
    protected _updateDependencyVersions(dependencyKeys: Array<string>): Promise<Dependency[]>;
    protected _mergeDependencyVersions: (arr1: Dependency[], arr2: Dependency[]) => Dependency[];
    protected _validateDependencyVersions(cachedData: unknown): Promise<boolean>;
    protected _buildCacheKey(key: string, prefix: string): string;
    protected _buildDataCacheKey(key: string): string;
    protected _buildDependencyCacheKey(key: string): string;
}
export type Dependency = {
    key: string;
    version: string;
};
