import { HardhatRuntimeEnvironment } from "hardhat/types";
import { TenderlyContractUploadRequest, TenderlyForkContractUploadRequest, TenderlyVerifyContractsRequest } from "@tenderly/api-client/types";
import { ContractByName } from "./tenderly/types";
import { TenderlyNetwork } from "./TenderlyNetwork";
export declare class Tenderly {
    env: HardhatRuntimeEnvironment;
    tenderlyNetwork: TenderlyNetwork;
    private tenderlyService;
    private readonly verificationService;
    constructor(hre: HardhatRuntimeEnvironment);
    verify(...contracts: any[]): Promise<void>;
    verifyMultiCompilerAPI(request: TenderlyVerifyContractsRequest): Promise<void>;
    private _isZkSyncNetwork;
    verifyForkMultiCompilerAPI(request: TenderlyVerifyContractsRequest, tenderlyProject: string, username: string, forkID: string): Promise<void>;
    verifyDevnetMultiCompilerAPI(request: TenderlyVerifyContractsRequest, tenderlyProject: string, username: string, devnetID: string): Promise<void>;
    network(): TenderlyNetwork;
    getNetworkName(): string;
    setNetwork(network: TenderlyNetwork): TenderlyNetwork;
    push(...contracts: any[]): Promise<void>;
    verifyAPI(request: TenderlyContractUploadRequest): Promise<void>;
    verifyForkAPI(request: TenderlyForkContractUploadRequest, tenderlyProject: string, username: string, forkID: string): Promise<void>;
    pushAPI(request: TenderlyContractUploadRequest, tenderlyProject: string, username: string): Promise<void>;
    persistArtifacts(...contracts: ContractByName[]): Promise<void>;
    private _filterContracts;
    private _getContractData;
    private _existsProxyVerification;
}
//# sourceMappingURL=Tenderly.d.ts.map