export interface CostCacheKey {
    start: string;
    end: string;
    granularity: string;
    metrics: string[];
    groupBy: Array<{
        Type: string;
        Key: string;
    }>;
    filter?: unknown;
}
export interface CacheHit<T> {
    response: T;
    ageSeconds: number;
}
export declare function loadCache<T>(profile: string | undefined, key: CostCacheKey): CacheHit<T> | null;
export declare function saveCache<T>(profile: string | undefined, key: CostCacheKey, response: T): void;
export interface ClearResult {
    deletedFiles: number;
    scope: string;
}
/**
 * Wipe cache entries. Pass a profile to scope; pass nothing to wipe everything.
 */
export declare function clearCache(profile?: string): ClearResult;
export declare function cacheLocation(profile?: string): string;
