import { BaseReporter } from '@jest/reporters'; import type { Config } from '@jest/types'; import { ContractABI } from '@ton/core'; import { BenchmarkCommand } from './BenchmarkCommand'; import { Metric, CodeHash, SnapshotMetric, ContractDatabase } from '../metric'; export declare const defaultSnapshotDir = ".snapshot"; export declare const defaultReportName = "gas-report"; export declare const defaultContractDatabaseName = "contract.abi.json"; export declare const defaultDepthCompare = 2; export declare const minComparisonDepth = 1; type ReportMode = 'gas' | 'average'; export interface Options { reportMode?: ReportMode; reportName?: string; snapshotDir?: string; depthCompare?: number; contractExcludes?: string[]; removeRawResult?: boolean; contractDatabase?: Record | string; } export default class BenchmarkReporter extends BaseReporter { protected rootDirPath: string; protected options: Options; protected command: BenchmarkCommand; contractDatabase: ContractDatabase; constructor(globalConfig: Config.GlobalConfig, options?: Options); get reportMode(): ReportMode; get reportName(): string; get snapshotDir(): string; get snapshotDirPath(): string; get depthCompare(): number; get snapshotFiles(): Promise; get snapshots(): Promise; get snapshotCurrent(): Promise; get removeRawResult(): true; get contractExcludes(): string[]; get sandboxMetricRawFile(): string; get metricStore(): Promise; readContractDatabase(): ContractDatabase; saveContractDatabase(): void; onRunComplete(): Promise; gasReportReport(data: SnapshotMetric[], benchmarkDepth: number): string[]; saveSnapshot(label: string): Promise; } export {};