import { Address, ProviderRpcClient } from "everscale-inpage-provider";
import { Addressable, AllowedCodes, OptionalContracts, TraceParams } from "./types";
import { Factory } from "../factory";
import { ViewTracingTree } from "./viewTraceTree/viewTracingTree";
import { TracingTransport } from "./transport";
import { LockliftNetwork } from "@broxus/locklift-network";
import { ContractWithArtifacts } from "../../types";
export declare class TracingInternal {
    private readonly ever;
    readonly factory: Factory<any>;
    private readonly tracingTransport;
    readonly network: LockliftNetwork;
    private labelsMap;
    private savedContracts;
    private readonly consoleContract;
    private _allowedCodes;
    setContractLabels: (contracts: Array<{
        address: Addressable;
        label: string;
    }>) => void;
    constructor(ever: ProviderRpcClient, factory: Factory<any>, tracingTransport: TracingTransport, network: LockliftNetwork);
    saveContract: (address: Addressable, contract: ContractWithArtifacts) => void;
    getSavedContract: (address: Addressable) => ContractWithArtifacts | undefined;
    get allowedCodes(): AllowedCodes;
    setAllowedCodes(allowedCodes: OptionalContracts): void;
    setAllowedCodesForAddress(address: string | Address, allowedCodes: OptionalContracts): void;
    removeAllowedCodesForAddress(address: string | Address, codesToRemove: OptionalContracts): void;
    removeAllowedCodes(codesToRemove: OptionalContracts): void;
    private popKey;
    private buildMsgTree;
    trace<T>({ finalizedTx, allowedCodes, raise }: TraceParams<T>): Promise<ViewTracingTree | undefined>;
    private printConsoleMsg;
    private buildTracingTree;
    private findRevertedBranch;
    private depthSearch;
}
