import { TransactionResponse, TransactionReceipt } from "ethers";
import { HardhatRuntimeEnvironment } from "hardhat/types";
import { MigrateConfig } from "../../types/migrations";
declare class BaseTransactionRunner {
    protected _config: MigrateConfig;
    protected totalCost: bigint;
    protected totalTransactions: bigint;
    constructor(config: MigrateConfig);
    reportTransactionResponse(tx: TransactionResponse, instanceName: string): Promise<void>;
    summary(): void;
    protected _showTransactionMining(tx: TransactionResponse): Promise<TransactionReceipt>;
}
export declare let TransactionRunner: BaseTransactionRunner | null;
export declare function createTransactionRunner(hre: HardhatRuntimeEnvironment): void;
/**
 * Used only in test environments to ensure test atomicity
 */
export declare function resetTransactionRunner(): void;
export {};
//# sourceMappingURL=TransactionRunner.d.ts.map