/**
 * Returns the timestamp model.
 *
 * @private
 */
export declare class CacheTimestampsModel {
    private readonly _cacheName;
    private _db;
    /**
     *
     * @param cacheName
     *
     * @private
     */
    constructor(cacheName: string);
    /**
     * Takes a URL and returns an ID that will be unique in the object store.
     *
     * @param url
     * @returns
     * @private
     */
    private _getId;
    /**
     * Performs an upgrade of indexedDB.
     *
     * @param db
     *
     * @private
     */
    private _upgradeDb;
    /**
     * Performs an upgrade of indexedDB and deletes deprecated DBs.
     *
     * @param db
     *
     * @private
     */
    private _upgradeDbAndDeleteOldDbs;
    /**
     * @param url
     * @param timestamp
     *
     * @private
     */
    setTimestamp(url: string, timestamp: number): Promise<void>;
    /**
     * Returns the timestamp stored for a given URL.
     *
     * @param url
     * @returns
     * @private
     */
    getTimestamp(url: string): Promise<number | undefined>;
    /**
     * Iterates through all the entries in the object store (from newest to
     * oldest) and removes entries once either `maxCount` is reached or the
     * entry's timestamp is less than `minTimestamp`.
     *
     * @param minTimestamp
     * @param maxCount
     * @returns
     * @private
     */
    expireEntries(minTimestamp: number, maxCount?: number): Promise<string[]>;
    /**
     * Returns an open connection to the database.
     *
     * @private
     */
    private getDb;
}
//# sourceMappingURL=CacheTimestampsModel.d.ts.map