import { NestInterceptor, ExecutionContext, CallHandler } from '@nestjs/common';
import { Observable } from 'rxjs';
import { ETagCacheService } from '../cache/etag-cache.service';
import { Reflector } from '@nestjs/core';
export declare const CACHE_TTL_KEY = "cache_ttl";
export declare const CACHE_KEY_KEY = "cache_key";
export declare class ETagCacheInterceptor implements NestInterceptor {
    private cacheService;
    private reflector;
    constructor(cacheService: ETagCacheService, reflector: Reflector);
    intercept(context: ExecutionContext, next: CallHandler): Observable<any>;
}
export declare function CacheTTL(ttlMs: number): import("@nestjs/common").CustomDecorator<string>;
export declare function CacheKey(key: string): import("@nestjs/common").CustomDecorator<string>;
