export class DNSCache {
    /**
     * @param {{rtt: number}} options
     */
    constructor({ rtt }: {
        rtt: number;
    });
    _rtt: number;
    /** @type {Map<string, {resolvedAt: number}>} */
    _resolvedDomainNames: Map<string, {
        resolvedAt: number;
    }>;
    /**
     * @param {Lantern.NetworkRequest} request
     * @param {{requestedAt: number, shouldUpdateCache: boolean}=} options
     * @return {number}
     */
    getTimeUntilResolution(request: import("../../../../types/internal/lantern.js").NetworkRequest<any>, options?: {
        requestedAt: number;
        shouldUpdateCache: boolean;
    } | undefined): number;
    /**
     * @param {Lantern.NetworkRequest} request
     * @param {number} resolvedAt
     */
    _updateCacheResolvedAtIfNeeded(request: import("../../../../types/internal/lantern.js").NetworkRequest<any>, resolvedAt: number): void;
    /**
     * Forcefully sets the DNS resolution time for a record.
     * Useful for testing and alternate execution simulations.
     *
     * @param {string} domain
     * @param {number} resolvedAt
     */
    setResolvedAt(domain: string, resolvedAt: number): void;
}
export namespace DNSCache {
    export { DNS_RESOLUTION_RTT_MULTIPLIER as RTT_MULTIPLIER };
}
declare const DNS_RESOLUTION_RTT_MULTIPLIER: 2;
export {};
//# sourceMappingURL=dns-cache.d.ts.map