import { ethers } from 'ethers';
import { DeploymentConfig } from '../../utils/contract-deployment';
import { OperatorMode, BlockJob, NetworkMonitor } from '../../utils/network-monitor';
import { HealthCheck } from '../../base-commands/healthcheck';
export default class Propagator extends HealthCheck {
    static hidden: boolean;
    static description: string;
    static examples: string[];
    static flags: {
        healthCheck: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        healthCheckPort: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
        recover: import("@oclif/core/lib/interfaces").OptionFlag<string>;
        recoverFile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
        networks: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined>;
        warp: import("@oclif/core/lib/interfaces").OptionFlag<number>;
        mode: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
        sync: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
        unsafePassword: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    };
    crossDeployments: string[];
    operatorMode: OperatorMode;
    networkMonitor: NetworkMonitor;
    /**
     * Command Entry Point
     */
    run(): Promise<void>;
    filterBuilder(): Promise<void>;
    processTransactions(job: BlockJob, transactions: ethers.providers.TransactionResponse[]): Promise<void>;
    handleContractDeployedEvents(transaction: ethers.providers.TransactionResponse, network: string): Promise<void>;
    deployContract(network: string, deploymentConfig: DeploymentConfig, deploymentAddress: string): Promise<void>;
    executePayload(network: string, config: DeploymentConfig, deploymentAddress: string): Promise<void>;
}
