import { Addressable, BalanceChangeInfoStorage, ErrorStore, MsgError, TraceType, ViewTrace, ViewTraceTree, ViewTraceTreeWithTotalFee } from "../types"; import { Address, Contract, DecodedEventWithTransaction } from "everscale-inpage-provider"; import { AbiEventName } from "everscale-inpage-provider/dist/models"; import { ContractWithName } from "../../../types"; import { PrinterConfig } from "./utils"; import { Tokens } from "./tokens"; type NameAndType = { type: TraceType; name: T; contract?: Addressable; }; type EventNames = DecodedEventWithTransaction>["event"]; type EventsNamesInner> = EventNames ? f : never>; type MethodParams, N extends keyof C["methods"]> = Parameters[0]; type EventParams = Extract>, { event: N; }>["data"]; export declare class ViewTracingTree { private readonly contractGetter; private readonly endpoint; readonly viewTraceTree: ViewTraceTreeWithTotalFee; readonly tokens: Tokens; balanceChangeInfo: BalanceChangeInfoStorage; msgErrorsStore: ErrorStore; constructor(viewTraceTree: ViewTraceTree, contractGetter: (codeHash: string, address: Address) => ContractWithName | undefined, endpoint: string); getErrorsByContract: >(contract: T) => Array; getAllErrors: () => { phase: "compute" | "action"; code: number; trace: ViewTrace>; contract: string; }[]; getBalanceDiff: >(contracts: T | T[]) => T extends T[] ? Record : string; findCallsForContract: , N extends keyof C["methods"] & string>({ contract, name, }: { contract: C; } & { name: N; }) => NonNullable<(N extends keyof C["methods"] & string ? MethodParams : EventParams ? f : never, N>) | MethodParams | undefined>[]; findEventsForContract: , Abi extends C extends Contract ? f : never, N extends EventNames>({ contract, name, }: { contract: C; } & { name: N; }) => NonNullable<(N extends keyof C["methods"] & string ? MethodParams : EventParams ? f_1 : never, N>) | MethodParams | undefined>[]; findForContract: , N extends (keyof C["methods"] & string) | EventsNamesInner, Abi extends C extends Contract ? f : never, E extends N extends keyof C["methods"] & string ? MethodParams : EventParams>({ contract, name, }: { contract: C; } & { name: N; }) => (import("../types").DecodedMsg> | undefined)[] | (import("../types").DecodedMsg | undefined)[]; findByType: (params: NameAndType) => (import("../types").DecodedMsg | undefined)[]; findByTypeWithFullData: (params: NameAndType) => ViewTrace[]; private _findByType; totalGasUsed: () => number; beautyPrint: (printerConfig?: PrinterConfig) => Promise; private _beautyPrint; } export {};