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 interface VeaOutboxGnosisToArbDevnetInterface extends Interface {
    getFunction(nameOrSignature: "BURN_ADDRESS" | "burn" | "challenge" | "challengePeriod" | "challengers" | "changeDevnetOperator" | "claim" | "claims" | "deposit" | "depositPlusReward" | "devnetAdvanceState" | "devnetOperator" | "epochAt" | "epochNow" | "epochPeriod" | "isMsgRelayed" | "latestVerifiedEpoch" | "resolveDisputedClaim" | "routerGnosisToArb" | "sendMessage" | "sequencerDelayLimit" | "sequencerFutureLimit" | "stateRoot" | "timeoutEpochs" | "timestampDelayUpdated" | "timestampFutureUpdated" | "updateSequencerDelayLimit" | "updateSequencerFutureLimit" | "verifySnapshot" | "withdrawChallengeDeposit" | "withdrawChallengerEscapeHatch" | "withdrawClaimDeposit" | "withdrawClaimerEscapeHatch"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "Challenged" | "Claimed" | "MessageRelayed" | "SequencerDelayLimitUpdateReceived" | "SequencerFutureLimitUpdateReceived" | "Verified"): EventFragment;
    encodeFunctionData(functionFragment: "BURN_ADDRESS", values?: undefined): string;
    encodeFunctionData(functionFragment: "burn", values?: undefined): string;
    encodeFunctionData(functionFragment: "challenge", values: [BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "challengePeriod", values?: undefined): string;
    encodeFunctionData(functionFragment: "challengers", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "changeDevnetOperator", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "claim", values: [BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "claims", 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: "isMsgRelayed", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "latestVerifiedEpoch", values?: undefined): string;
    encodeFunctionData(functionFragment: "resolveDisputedClaim", values: [BigNumberish, BytesLike]): string;
    encodeFunctionData(functionFragment: "routerGnosisToArb", values?: undefined): string;
    encodeFunctionData(functionFragment: "sendMessage", values: [BytesLike[], BigNumberish, AddressLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "sequencerDelayLimit", values?: undefined): string;
    encodeFunctionData(functionFragment: "sequencerFutureLimit", values?: undefined): string;
    encodeFunctionData(functionFragment: "stateRoot", values?: undefined): string;
    encodeFunctionData(functionFragment: "timeoutEpochs", values?: undefined): string;
    encodeFunctionData(functionFragment: "timestampDelayUpdated", values?: undefined): string;
    encodeFunctionData(functionFragment: "timestampFutureUpdated", values?: undefined): string;
    encodeFunctionData(functionFragment: "updateSequencerDelayLimit", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "updateSequencerFutureLimit", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "verifySnapshot", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "withdrawChallengeDeposit", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "withdrawChallengerEscapeHatch", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "withdrawClaimDeposit", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "withdrawClaimerEscapeHatch", values: [BigNumberish]): string;
    decodeFunctionResult(functionFragment: "BURN_ADDRESS", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "burn", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "challenge", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "challengePeriod", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "challengers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "changeDevnetOperator", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "claims", 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: "isMsgRelayed", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "latestVerifiedEpoch", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "resolveDisputedClaim", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "routerGnosisToArb", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sendMessage", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sequencerDelayLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "sequencerFutureLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "stateRoot", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "timeoutEpochs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "timestampDelayUpdated", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "timestampFutureUpdated", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateSequencerDelayLimit", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "updateSequencerFutureLimit", 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 SequencerDelayLimitUpdateReceivedEvent {
    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 SequencerFutureLimitUpdateReceivedEvent {
    type InputTuple = [_newSequencerFutureLimit: BigNumberish];
    type OutputTuple = [_newSequencerFutureLimit: bigint];
    interface OutputObject {
        _newSequencerFutureLimit: 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 VeaOutboxGnosisToArbDevnet extends BaseContract {
    connect(runner?: ContractRunner | null): VeaOutboxGnosisToArbDevnet;
    waitForDeployment(): Promise<this>;
    interface: VeaOutboxGnosisToArbDevnetInterface;
    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">;
    burn: TypedContractMethod<[], [bigint], "view">;
    challenge: TypedContractMethod<[
        _epoch: BigNumberish,
        _disputedStateRoot: BytesLike
    ], [
        void
    ], "payable">;
    challengePeriod: TypedContractMethod<[], [bigint], "view">;
    challengers: TypedContractMethod<[epoch: BigNumberish], [string], "view">;
    changeDevnetOperator: TypedContractMethod<[
        _devnetOperator: AddressLike
    ], [
        void
    ], "nonpayable">;
    claim: TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ], [
        void
    ], "payable">;
    claims: TypedContractMethod<[
        epoch: BigNumberish
    ], [
        [
            string,
            string,
            bigint,
            bigint
        ] & {
            stateRoot: string;
            claimer: string;
            timestamp: bigint;
            honest: bigint;
        }
    ], "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">;
    isMsgRelayed: TypedContractMethod<[_msgId: BigNumberish], [boolean], "view">;
    latestVerifiedEpoch: TypedContractMethod<[], [bigint], "view">;
    resolveDisputedClaim: TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ], [
        void
    ], "nonpayable">;
    routerGnosisToArb: TypedContractMethod<[], [string], "view">;
    sendMessage: TypedContractMethod<[
        _proof: BytesLike[],
        _msgId: BigNumberish,
        _to: AddressLike,
        _message: BytesLike
    ], [
        void
    ], "nonpayable">;
    sequencerDelayLimit: TypedContractMethod<[], [bigint], "view">;
    sequencerFutureLimit: TypedContractMethod<[], [bigint], "view">;
    stateRoot: TypedContractMethod<[], [string], "view">;
    timeoutEpochs: TypedContractMethod<[], [bigint], "view">;
    timestampDelayUpdated: TypedContractMethod<[], [bigint], "view">;
    timestampFutureUpdated: TypedContractMethod<[], [bigint], "view">;
    updateSequencerDelayLimit: TypedContractMethod<[
        _newSequencerDelayLimit: BigNumberish,
        _timestamp: BigNumberish
    ], [
        void
    ], "nonpayable">;
    updateSequencerFutureLimit: TypedContractMethod<[
        _newSequencerFutureLimit: BigNumberish,
        _timestamp: BigNumberish
    ], [
        void
    ], "nonpayable">;
    verifySnapshot: TypedContractMethod<[
        _epoch: BigNumberish
    ], [
        void
    ], "nonpayable">;
    withdrawChallengeDeposit: TypedContractMethod<[
        _epoch: BigNumberish
    ], [
        void
    ], "nonpayable">;
    withdrawChallengerEscapeHatch: TypedContractMethod<[
        _epoch: BigNumberish
    ], [
        void
    ], "nonpayable">;
    withdrawClaimDeposit: TypedContractMethod<[
        _epoch: BigNumberish
    ], [
        void
    ], "nonpayable">;
    withdrawClaimerEscapeHatch: TypedContractMethod<[
        _epoch: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "BURN_ADDRESS"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "burn"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "challenge"): TypedContractMethod<[
        _epoch: BigNumberish,
        _disputedStateRoot: BytesLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "challengePeriod"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "challengers"): TypedContractMethod<[epoch: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "changeDevnetOperator"): TypedContractMethod<[_devnetOperator: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "claim"): TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ], [
        void
    ], "payable">;
    getFunction(nameOrSignature: "claims"): TypedContractMethod<[
        epoch: BigNumberish
    ], [
        [
            string,
            string,
            bigint,
            bigint
        ] & {
            stateRoot: string;
            claimer: string;
            timestamp: bigint;
            honest: bigint;
        }
    ], "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: "isMsgRelayed"): TypedContractMethod<[_msgId: BigNumberish], [boolean], "view">;
    getFunction(nameOrSignature: "latestVerifiedEpoch"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "resolveDisputedClaim"): TypedContractMethod<[
        _epoch: BigNumberish,
        _stateRoot: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "routerGnosisToArb"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "sendMessage"): TypedContractMethod<[
        _proof: BytesLike[],
        _msgId: BigNumberish,
        _to: AddressLike,
        _message: BytesLike
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "sequencerDelayLimit"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "sequencerFutureLimit"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "stateRoot"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "timeoutEpochs"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "timestampDelayUpdated"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "timestampFutureUpdated"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "updateSequencerDelayLimit"): TypedContractMethod<[
        _newSequencerDelayLimit: BigNumberish,
        _timestamp: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "updateSequencerFutureLimit"): TypedContractMethod<[
        _newSequencerFutureLimit: BigNumberish,
        _timestamp: BigNumberish
    ], [
        void
    ], "nonpayable">;
    getFunction(nameOrSignature: "verifySnapshot"): TypedContractMethod<[_epoch: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "withdrawChallengeDeposit"): TypedContractMethod<[_epoch: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "withdrawChallengerEscapeHatch"): TypedContractMethod<[_epoch: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "withdrawClaimDeposit"): TypedContractMethod<[_epoch: BigNumberish], [void], "nonpayable">;
    getFunction(nameOrSignature: "withdrawClaimerEscapeHatch"): TypedContractMethod<[_epoch: BigNumberish], [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: "SequencerDelayLimitUpdateReceived"): TypedContractEvent<SequencerDelayLimitUpdateReceivedEvent.InputTuple, SequencerDelayLimitUpdateReceivedEvent.OutputTuple, SequencerDelayLimitUpdateReceivedEvent.OutputObject>;
    getEvent(key: "SequencerFutureLimitUpdateReceived"): TypedContractEvent<SequencerFutureLimitUpdateReceivedEvent.InputTuple, SequencerFutureLimitUpdateReceivedEvent.OutputTuple, SequencerFutureLimitUpdateReceivedEvent.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>;
        "SequencerDelayLimitUpdateReceived(uint256)": TypedContractEvent<SequencerDelayLimitUpdateReceivedEvent.InputTuple, SequencerDelayLimitUpdateReceivedEvent.OutputTuple, SequencerDelayLimitUpdateReceivedEvent.OutputObject>;
        SequencerDelayLimitUpdateReceived: TypedContractEvent<SequencerDelayLimitUpdateReceivedEvent.InputTuple, SequencerDelayLimitUpdateReceivedEvent.OutputTuple, SequencerDelayLimitUpdateReceivedEvent.OutputObject>;
        "SequencerFutureLimitUpdateReceived(uint256)": TypedContractEvent<SequencerFutureLimitUpdateReceivedEvent.InputTuple, SequencerFutureLimitUpdateReceivedEvent.OutputTuple, SequencerFutureLimitUpdateReceivedEvent.OutputObject>;
        SequencerFutureLimitUpdateReceived: TypedContractEvent<SequencerFutureLimitUpdateReceivedEvent.InputTuple, SequencerFutureLimitUpdateReceivedEvent.OutputTuple, SequencerFutureLimitUpdateReceivedEvent.OutputObject>;
        "Verified(uint256)": TypedContractEvent<VerifiedEvent.InputTuple, VerifiedEvent.OutputTuple, VerifiedEvent.OutputObject>;
        Verified: TypedContractEvent<VerifiedEvent.InputTuple, VerifiedEvent.OutputTuple, VerifiedEvent.OutputObject>;
    };
}
