import { TransactionResponse } from '@ethersproject/abstract-provider';
import { OperatorJobAwareCommand } from '../../utils/operator-job';
export default class Recover extends OperatorJobAwareCommand {
    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>;
        network: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
        tx: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
    };
    /**
     * Command Entry Point
     */
    run(): Promise<void>;
    /**
     * Process a transaction and attempt to either handle the bridge out or bridge in depending on the event emitted
     */
    processTransaction(network: string, transaction: TransactionResponse): Promise<void>;
    /**
     * Handles the event emitted by the bridge contract when a token is bridged out
     */
    handleBridgeOutEvent(transaction: TransactionResponse, network: string): Promise<void>;
    /**
     * Handles the event emitted by the operator contract when a job is available and can be executed
     */
    handleAvailableOperatorJobEvent(transaction: TransactionResponse, network: string): Promise<void>;
    /**
     * Execute the payload on the destination network
     */
    executePayload(network: string, payload: string): Promise<void>;
}
