import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common";
export type ClaimStruct = {
    stateRoot: BytesLike;
    claimer: AddressLike;
    timestampClaimed: BigNumberish;
    timestampVerification: BigNumberish;
    blocknumberVerification: BigNumberish;
    honest: BigNumberish;
    challenger: AddressLike;
};
export type ClaimStructOutput = [
    stateRoot: string,
    claimer: string,
    timestampClaimed: bigint,
    timestampVerification: bigint,
    blocknumberVerification: bigint,
    honest: bigint,
    challenger: string
] & {
    stateRoot: string;
    claimer: string;
    timestampClaimed: bigint;
    timestampVerification: bigint;
    blocknumberVerification: bigint;
    honest: bigint;
    challenger: string;
};
export interface VeaOutboxArbToEthDevnetInterface extends Interface {
    getFunction(nameOrSignature: "BURN_ADDRESS" | "bridge" | "burn" | "censorshipTestStatus" | "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address))" | "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address),address)" | "changeDevnetOperator" | "claim" | "claimHashes" | "deposit" | "depositPlusReward" | "devnetAdvanceState" | "devnetOperator" | "epochAt" | "epochNow" | "epochPeriod" | "executeSequencerDelayLimitDecreaseRequest" | "hashClaim" | "isMsgRelayed" | "latestVerifiedEpoch" | "maxMissingBlocks" | "minChallengePeriod" | "resolveDisputedClaim" | "sendMessage" | "sequencerDelayLimit" | "sequencerDelayLimitDecreaseRequest" | "startVerification" | "stateRoot" | "timeoutEpochs" | "updateSequencerDelayLimit" | "veaInboxArbToEth" | "verifySnapshot" | "withdrawChallengeDeposit" | "withdrawChallengerEscapeHatch" | "withdrawClaimDeposit" | "withdrawClaimerEscapeHatch"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "Challenged" | "Claimed" | "MessageRelayed" | "SequencerDelayLimitDecreaseRequested" | "SequencerDelayLimitUpdated" | "VerificationStarted" | "Verified"): EventFragment;
    encodeFunctionData(functionFragment: "BURN_ADDRESS", values?: undefined): string;
    encodeFunctionData(functionFragment: "bridge", values?: undefined): string;
    encodeFunctionData(functionFragment: "burn", values?: undefined): string;
    encodeFunctionData(functionFragment: "censorshipTestStatus", values: [ClaimStruct]): string;
    encodeFunctionData(functionFragment: "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address))", values: [BigNumberish, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address),address)", values: [BigNumberish, ClaimStruct, AddressLike]): string;
    encodeFunctionData(functionFragment: "changeDevnetOperator", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "claim", values: [BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "claimHashes", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "deposit", values?: undefined): string;
    encodeFunctionData(functionFragment: "depositPlusReward", values?: undefined): string;
    encodeFunctionData(functionFragment: "devnetAdvanceState", values: [BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "devnetOperator", values?: undefined): string;
    encodeFunctionData(functionFragment: "epochAt", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "epochNow", values?: undefined): string;
    encodeFunctionData(functionFragment: "epochPeriod", values?: undefined): string;
    encodeFunctionData(functionFragment: "executeSequencerDelayLimitDecreaseRequest", values?: undefined): string;
    encodeFunctionData(functionFragment: "hashClaim", values: [ClaimStruct]): string;
    encodeFunctionData(functionFragment: "isMsgRelayed", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "latestVerifiedEpoch", values?: undefined): string;
    encodeFunctionData(functionFragment: "maxMissingBlocks", values?: undefined): string;
    encodeFunctionData(functionFragment: "minChallengePeriod", values?: undefined): string;
    encodeFunctionData(functionFragment: "resolveDisputedClaim", values: [BigNumberish, BytesLike, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "sendMessage", values: [BytesLike[], BigNumberish, AddressLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "sequencerDelayLimit", values?: undefined): string;
    encodeFunctionData(functionFragment: "sequencerDelayLimitDecreaseRequest", values?: undefined): string;
    encodeFunctionData(functionFragment: "startVerification", values: [BigNumberish, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "stateRoot", values?: undefined): string;
    encodeFunctionData(functionFragment: "timeoutEpochs", values?: undefined): string;
    encodeFunctionData(functionFragment: "updateSequencerDelayLimit", values?: undefined): string;
    encodeFunctionData(functionFragment: "veaInboxArbToEth", values?: undefined): string;
    encodeFunctionData(functionFragment: "verifySnapshot", values: [BigNumberish, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "withdrawChallengeDeposit", values: [BigNumberish, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "withdrawChallengerEscapeHatch", values: [BigNumberish, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "withdrawClaimDeposit", values: [BigNumberish, ClaimStruct]): string;
    encodeFunctionData(functionFragment: "withdrawClaimerEscapeHatch", values: [BigNumberish, ClaimStruct]): string;
    decodeFunctionResult(functionFragment: "BURN_ADDRESS", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "bridge", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "censorshipTestStatus", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address))", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address),address)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "changeDevnetOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "claimHashes", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "depositPlusReward", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "devnetAdvanceState", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "devnetOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "epochAt", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "epochNow", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "epochPeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "executeSequencerDelayLimitDecreaseRequest", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "hashClaim", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "isMsgRelayed", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "latestVerifiedEpoch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "maxMissingBlocks", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "minChallengePeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "resolveDisputedClaim", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sendMessage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sequencerDelayLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sequencerDelayLimitDecreaseRequest", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "startVerification", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stateRoot", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "timeoutEpochs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateSequencerDelayLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "veaInboxArbToEth", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "verifySnapshot", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawChallengeDeposit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawChallengerEscapeHatch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawClaimDeposit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "withdrawClaimerEscapeHatch", data: BytesLike): Result;
}
export declare namespace ChallengedEvent {
    type InputTuple = [_epoch: BigNumberish, _challenger: AddressLike];
    type OutputTuple = [_epoch: bigint, _challenger: string];
    interface OutputObject {
        _epoch: bigint;
        _challenger: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ClaimedEvent {
    type InputTuple = [
        _claimer: AddressLike,
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ];
    type OutputTuple = [
        _claimer: string,
        _epoch: bigint,
        _stateRoot: string
    ];
    interface OutputObject {
        _claimer: string;
        _epoch: bigint;
        _stateRoot: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace MessageRelayedEvent {
    type InputTuple = [_msgId: BigNumberish];
    type OutputTuple = [_msgId: bigint];
    interface OutputObject {
        _msgId: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SequencerDelayLimitDecreaseRequestedEvent {
    type InputTuple = [_requestedSequencerDelayLimit: BigNumberish];
    type OutputTuple = [_requestedSequencerDelayLimit: bigint];
    interface OutputObject {
        _requestedSequencerDelayLimit: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SequencerDelayLimitUpdatedEvent {
    type InputTuple = [_newSequencerDelayLimit: BigNumberish];
    type OutputTuple = [_newSequencerDelayLimit: bigint];
    interface OutputObject {
        _newSequencerDelayLimit: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace VerificationStartedEvent {
    type InputTuple = [_epoch: BigNumberish];
    type OutputTuple = [_epoch: bigint];
    interface OutputObject {
        _epoch: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace VerifiedEvent {
    type InputTuple = [_epoch: BigNumberish];
    type OutputTuple = [_epoch: bigint];
    interface OutputObject {
        _epoch: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface VeaOutboxArbToEthDevnet extends BaseContract {
    connect(runner?: ContractRunner | null): VeaOutboxArbToEthDevnet;
    waitForDeployment(): Promise<this>;
    interface: VeaOutboxArbToEthDevnetInterface;
    queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
    on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
    once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
    listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
    listeners(eventName?: string): Promise<Array<Listener>>;
    removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
    BURN_ADDRESS: TypedContractMethod<[], [string], "view">;
    bridge: TypedContractMethod<[], [string], "view">;
    burn: TypedContractMethod<[], [bigint], "view">;
    censorshipTestStatus: TypedContractMethod<[
        _claim: ClaimStruct
    ], [
        bigint
    ], "view">;
    "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address))": TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "payable">;
    "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address),address)": TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct,
        _withdrawalAddress: AddressLike
    ], [
        void
    ], "payable">;
    changeDevnetOperator: TypedContractMethod<[
        _devnetOperator: AddressLike
    ], [
        void
    ], "nonpayable">;
    claim: TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ], [
        void
    ], "payable">;
    claimHashes: TypedContractMethod<[epoch: BigNumberish], [string], "view">;
    deposit: TypedContractMethod<[], [bigint], "view">;
    depositPlusReward: TypedContractMethod<[], [bigint], "view">;
    devnetAdvanceState: TypedContractMethod<[
        _epoch: BigNumberish,
        _stateroot: BytesLike
    ], [
        void
    ], "payable">;
    devnetOperator: TypedContractMethod<[], [string], "view">;
    epochAt: TypedContractMethod<[timestamp: BigNumberish], [bigint], "view">;
    epochNow: TypedContractMethod<[], [bigint], "view">;
    epochPeriod: TypedContractMethod<[], [bigint], "view">;
    executeSequencerDelayLimitDecreaseRequest: TypedContractMethod<[
    ], [
        void
    ], "nonpayable">;
    hashClaim: TypedContractMethod<[_claim: ClaimStruct], [string], "view">;
    isMsgRelayed: TypedContractMethod<[_msgId: BigNumberish], [boolean], "view">;
    latestVerifiedEpoch: TypedContractMethod<[], [bigint], "view">;
    maxMissingBlocks: TypedContractMethod<[], [bigint], "view">;
    minChallengePeriod: TypedContractMethod<[], [bigint], "view">;
    resolveDisputedClaim: TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    sendMessage: TypedContractMethod<[
        _proof: BytesLike[],
        _msgId: BigNumberish,
        _to: AddressLike,
        _message: BytesLike
    ], [
        void
    ], "nonpayable">;
    sequencerDelayLimit: TypedContractMethod<[], [bigint], "view">;
    sequencerDelayLimitDecreaseRequest: TypedContractMethod<[
    ], [
        [
            bigint,
            bigint
        ] & {
            requestedsequencerDelayLimit: bigint;
            timestamp: bigint;
        }
    ], "view">;
    startVerification: TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    stateRoot: TypedContractMethod<[], [string], "view">;
    timeoutEpochs: TypedContractMethod<[], [bigint], "view">;
    updateSequencerDelayLimit: TypedContractMethod<[], [void], "nonpayable">;
    veaInboxArbToEth: TypedContractMethod<[], [string], "view">;
    verifySnapshot: TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    withdrawChallengeDeposit: TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    withdrawChallengerEscapeHatch: TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    withdrawClaimDeposit: TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    withdrawClaimerEscapeHatch: TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "BURN_ADDRESS"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "bridge"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "burn"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "censorshipTestStatus"): TypedContractMethod<[_claim: ClaimStruct], [bigint], "view">;
    getFunction(nameOrSignature: "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address))"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "challenge(uint256,(bytes32,address,uint32,uint32,uint32,uint8,address),address)"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct,
        _withdrawalAddress: AddressLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "changeDevnetOperator"): TypedContractMethod<[_devnetOperator: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "claim"): TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "claimHashes"): TypedContractMethod<[epoch: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "deposit"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "depositPlusReward"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "devnetAdvanceState"): TypedContractMethod<[
        _epoch: BigNumberish,
        _stateroot: BytesLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "devnetOperator"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "epochAt"): TypedContractMethod<[timestamp: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "epochNow"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "epochPeriod"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "executeSequencerDelayLimitDecreaseRequest"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "hashClaim"): TypedContractMethod<[_claim: ClaimStruct], [string], "view">;
    getFunction(nameOrSignature: "isMsgRelayed"): TypedContractMethod<[_msgId: BigNumberish], [boolean], "view">;
    getFunction(nameOrSignature: "latestVerifiedEpoch"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "maxMissingBlocks"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "minChallengePeriod"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "resolveDisputedClaim"): TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "sendMessage"): TypedContractMethod<[
        _proof: BytesLike[],
        _msgId: BigNumberish,
        _to: AddressLike,
        _message: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "sequencerDelayLimit"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "sequencerDelayLimitDecreaseRequest"): TypedContractMethod<[
    ], [
        [
            bigint,
            bigint
        ] & {
            requestedsequencerDelayLimit: bigint;
            timestamp: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "startVerification"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "stateRoot"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "timeoutEpochs"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "updateSequencerDelayLimit"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "veaInboxArbToEth"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "verifySnapshot"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "withdrawChallengeDeposit"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "withdrawChallengerEscapeHatch"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "withdrawClaimDeposit"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "withdrawClaimerEscapeHatch"): TypedContractMethod<[
        _epoch: BigNumberish,
        _claim: ClaimStruct
    ], [
        void
    ], "nonpayable">;
    getEvent(key: "Challenged"): TypedContractEvent<ChallengedEvent.InputTuple, ChallengedEvent.OutputTuple, ChallengedEvent.OutputObject>;
    getEvent(key: "Claimed"): TypedContractEvent<ClaimedEvent.InputTuple, ClaimedEvent.OutputTuple, ClaimedEvent.OutputObject>;
    getEvent(key: "MessageRelayed"): TypedContractEvent<MessageRelayedEvent.InputTuple, MessageRelayedEvent.OutputTuple, MessageRelayedEvent.OutputObject>;
    getEvent(key: "SequencerDelayLimitDecreaseRequested"): TypedContractEvent<SequencerDelayLimitDecreaseRequestedEvent.InputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputObject>;
    getEvent(key: "SequencerDelayLimitUpdated"): TypedContractEvent<SequencerDelayLimitUpdatedEvent.InputTuple, SequencerDelayLimitUpdatedEvent.OutputTuple, SequencerDelayLimitUpdatedEvent.OutputObject>;
    getEvent(key: "VerificationStarted"): TypedContractEvent<VerificationStartedEvent.InputTuple, VerificationStartedEvent.OutputTuple, VerificationStartedEvent.OutputObject>;
    getEvent(key: "Verified"): TypedContractEvent<VerifiedEvent.InputTuple, VerifiedEvent.OutputTuple, VerifiedEvent.OutputObject>;
    filters: {
        "Challenged(uint256,address)": TypedContractEvent<ChallengedEvent.InputTuple, ChallengedEvent.OutputTuple, ChallengedEvent.OutputObject>;
        Challenged: TypedContractEvent<ChallengedEvent.InputTuple, ChallengedEvent.OutputTuple, ChallengedEvent.OutputObject>;
        "Claimed(address,uint256,bytes32)": TypedContractEvent<ClaimedEvent.InputTuple, ClaimedEvent.OutputTuple, ClaimedEvent.OutputObject>;
        Claimed: TypedContractEvent<ClaimedEvent.InputTuple, ClaimedEvent.OutputTuple, ClaimedEvent.OutputObject>;
        "MessageRelayed(uint64)": TypedContractEvent<MessageRelayedEvent.InputTuple, MessageRelayedEvent.OutputTuple, MessageRelayedEvent.OutputObject>;
        MessageRelayed: TypedContractEvent<MessageRelayedEvent.InputTuple, MessageRelayedEvent.OutputTuple, MessageRelayedEvent.OutputObject>;
        "SequencerDelayLimitDecreaseRequested(uint256)": TypedContractEvent<SequencerDelayLimitDecreaseRequestedEvent.InputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputObject>;
        SequencerDelayLimitDecreaseRequested: TypedContractEvent<SequencerDelayLimitDecreaseRequestedEvent.InputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputTuple, SequencerDelayLimitDecreaseRequestedEvent.OutputObject>;
        "SequencerDelayLimitUpdated(uint256)": TypedContractEvent<SequencerDelayLimitUpdatedEvent.InputTuple, SequencerDelayLimitUpdatedEvent.OutputTuple, SequencerDelayLimitUpdatedEvent.OutputObject>;
        SequencerDelayLimitUpdated: TypedContractEvent<SequencerDelayLimitUpdatedEvent.InputTuple, SequencerDelayLimitUpdatedEvent.OutputTuple, SequencerDelayLimitUpdatedEvent.OutputObject>;
        "VerificationStarted(uint256)": TypedContractEvent<VerificationStartedEvent.InputTuple, VerificationStartedEvent.OutputTuple, VerificationStartedEvent.OutputObject>;
        VerificationStarted: TypedContractEvent<VerificationStartedEvent.InputTuple, VerificationStartedEvent.OutputTuple, VerificationStartedEvent.OutputObject>;
        "Verified(uint256)": TypedContractEvent<VerifiedEvent.InputTuple, VerifiedEvent.OutputTuple, VerifiedEvent.OutputObject>;
        Verified: TypedContractEvent<VerifiedEvent.InputTuple, VerifiedEvent.OutputTuple, VerifiedEvent.OutputObject>;
    };
}
