/// <reference types="node" />
import { HttpHeaders } from './http.js';
import { Inventory, Transaction } from './inventory.js';
import { Proxy, ProxyDependency, ProxyOptions } from './proxy.js';
export interface PlaybackTransaction {
    method: string;
    url: string;
    ttfbMs: number;
    statusCode?: number;
    err?: Error;
    rawHeaders?: HttpHeaders;
    contentChunks: Buffer[];
    contentLength: number;
    durationMs: number;
}
export declare class PlaybackProxy extends Proxy {
    transactions: Transaction[];
    transactionsMap: Map<string, Map<string, PlaybackTransaction>>;
    loadTransactions(inventory: Inventory): Promise<void>;
    setup(): Promise<void>;
    shutdown(): Promise<void>;
}
export declare function withPlaybackProxy(options: ProxyOptions, dependency: ProxyDependency, cb: (proxy: PlaybackProxy) => Promise<void>): Promise<void>;
