import type { GasAnalyticsManager, GasMeasurement, GasStatsJson } from "./types.js"; interface DeploymentGasStats extends GasStats { runtimeSize: number; } interface ContractGasStats { proxyChain: string[]; deployment?: DeploymentGasStats; functions: Map; } type GasStatsByContract = Map; interface GasStats { min: number; max: number; avg: number; median: number; count: number; } type GasMeasurementsByContract = Map; interface ContractGasMeasurements { proxyChain: string[]; deployments: number[]; deploymentRuntimeSize?: number; functions: Map; } export declare class GasAnalyticsManagerImplementation implements GasAnalyticsManager { #private; gasMeasurements: GasMeasurement[]; constructor(gasStatsRootPath: string); addGasMeasurement(gasMeasurement: GasMeasurement): void; clearGasMeasurements(id: string): Promise; saveGasMeasurements(id: string): Promise; reportGasStats(...ids: string[]): Promise; writeGasStatsJson(outputPath: string, ...ids: string[]): Promise; enableReport(): void; disableReport(): void; /** * @private exposed for testing purposes only */ _loadGasMeasurements(...ids: string[]): Promise; /** * @private exposed for testing purposes only */ _calculateGasStats(): GasStatsByContract; /** * @private exposed for testing purposes only */ _aggregateGasMeasurements(): GasMeasurementsByContract; /** * @private exposed for testing purposes only */ _generateGasStatsReport(gasStatsByContract: GasStatsByContract): string; /** * @private exposed for testing purposes only */ _generateGasStatsJson(gasStatsByContract: GasStatsByContract): GasStatsJson; } export {}; //# sourceMappingURL=gas-analytics-manager.d.ts.map