import type { trace } from "ton-assembly"; import { Cell } from "@ton/core"; export type CoverageData = { readonly code: Cell; readonly lines: readonly Line[]; }; export type Line = { readonly line: string; readonly info: Covered | Uncovered | Skipped; }; export type Covered = { readonly $: "Covered"; readonly hits: number; readonly gasCosts: readonly number[]; }; export type Uncovered = { readonly $: "Uncovered"; }; export type Skipped = { readonly $: "Skipped"; }; export type InstructionStat = { readonly name: string; readonly totalGas: number; readonly totalHits: number; readonly avgGas: number; }; export type CoverageSummary = { readonly totalLines: number; readonly coveredLines: number; readonly uncoveredLines: number; readonly coveragePercentage: number; readonly totalGas: number; readonly totalHits: number; readonly instructionStats: readonly InstructionStat[]; }; export declare function buildLineInfo(trace: trace.TraceInfo, asm: string): readonly Line[]; export declare function isExecutableLine(line: string): boolean; export declare function generateCoverageSummary(coverage: CoverageData): CoverageSummary; export declare function mergeCoverages(...coverages: readonly CoverageData[]): CoverageData; export declare function mergeTwoLines(first: readonly Line[], second: readonly Line[]): readonly Line[];