/// <reference types="qs" />
import express from 'express';
import { HttpStatusCode } from '../../../../shared/models';
export interface APICacheOptions {
    headerBlacklist?: string[];
    excludeStatus?: HttpStatusCode[];
}
export declare class ApiCache {
    private readonly options;
    private readonly timers;
    private index;
    constructor(options: APICacheOptions);
    buildMiddleware(strDuration: string): (req: express.Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs>, res: express.Response<any>, next: express.NextFunction) => void | Promise<void>;
    private shouldCacheResponse;
    private addIndexEntries;
    private filterBlacklistedHeaders;
    private createCacheObject;
    private cacheResponse;
    private accumulateContent;
    private makeResponseCacheable;
    private sendCachedResponse;
    private clear;
}
//# sourceMappingURL=api-cache.d.ts.map