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 declare namespace IPerpetualOrder {
    type OrderStruct = {
        leverageTDR: BigNumberish;
        brokerFeeTbps: BigNumberish;
        iPerpetualId: BigNumberish;
        traderAddr: AddressLike;
        executionTimestamp: BigNumberish;
        brokerAddr: AddressLike;
        submittedTimestamp: BigNumberish;
        flags: BigNumberish;
        iDeadline: BigNumberish;
        executorAddr: AddressLike;
        fAmount: BigNumberish;
        fLimitPrice: BigNumberish;
        fTriggerPrice: BigNumberish;
        brokerSignature: BytesLike;
    };
    type OrderStructOutput = [
        leverageTDR: bigint,
        brokerFeeTbps: bigint,
        iPerpetualId: bigint,
        traderAddr: string,
        executionTimestamp: bigint,
        brokerAddr: string,
        submittedTimestamp: bigint,
        flags: bigint,
        iDeadline: bigint,
        executorAddr: string,
        fAmount: bigint,
        fLimitPrice: bigint,
        fTriggerPrice: bigint,
        brokerSignature: string
    ] & {
        leverageTDR: bigint;
        brokerFeeTbps: bigint;
        iPerpetualId: bigint;
        traderAddr: string;
        executionTimestamp: bigint;
        brokerAddr: string;
        submittedTimestamp: bigint;
        flags: bigint;
        iDeadline: bigint;
        executorAddr: string;
        fAmount: bigint;
        fLimitPrice: bigint;
        fTriggerPrice: bigint;
        brokerSignature: string;
    };
}
export interface PerpetualManagerProxyInterface extends Interface {
    getFunction(nameOrSignature: "brokerVolumeEMA" | "brokerVolumeFeesTbps" | "brokerVolumeTiers" | "getImplementation" | "getModuleImplementationAddress" | "getProxyOwner" | "governance" | "lastBaseToUSDUpdateTs" | "liquidityProvisionIsPaused" | "maintainer" | "pause" | "paused" | "perpBaseToUSDOracle" | "perpToLastBaseToUSD" | "setImplementation" | "setImplementationCrossModules" | "setProxyOwner" | "traderVolumeEMA" | "traderVolumeFeesTbps" | "traderVolumeTiers" | "transferGovernance" | "transferMaintainer" | "unpause"): FunctionFragment;
    getEvent(nameOrSignatureOrTopic: "BrokerLotsTransferred" | "BrokerVolumeTransferred" | "Clear" | "DistributeFees" | "GovernanceTransferred" | "ImplementationChanged" | "Liquidate" | "LiquidityAdded" | "LiquidityPoolCreated" | "LiquidityProvisionPaused" | "LiquidityRemoved" | "LiquidityWithdrawalInitiated" | "MaintainerTransferred" | "Paused" | "PerpetualCreated" | "PerpetualLimitOrderCancelled" | "ProxyOwnershipTransferred" | "RunLiquidityPool" | "SetBlockDelay" | "SetBrokerDesignations" | "SetBrokerTiers" | "SetBrokerVolumeTiers" | "SetClearedState" | "SetDelegate" | "SetEmergencyState" | "SetNormalState" | "SetOracles" | "SetParameter" | "SetParameterPair" | "SetPerpetualBaseParameters" | "SetPerpetualRiskParameters" | "SetPoolParameter" | "SetTraderTiers" | "SetTraderVolumeTiers" | "SetUtilityToken" | "Settle" | "SettleState" | "SettlementComplete" | "TokensDeposited" | "TokensWithdrawn" | "Trade" | "TransferAddressTo" | "Unpaused" | "UpdateBrokerAddedCash" | "UpdateFundingRate" | "UpdateMarginAccount" | "UpdateMarkPrice"): EventFragment;
    encodeFunctionData(functionFragment: "brokerVolumeEMA", values: [BigNumberish, AddressLike]): string;
    encodeFunctionData(functionFragment: "brokerVolumeFeesTbps", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "brokerVolumeTiers", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "getImplementation", values: [BytesLike]): string;
    encodeFunctionData(functionFragment: "getModuleImplementationAddress", values: [string]): string;
    encodeFunctionData(functionFragment: "getProxyOwner", values?: undefined): string;
    encodeFunctionData(functionFragment: "governance", values?: undefined): string;
    encodeFunctionData(functionFragment: "lastBaseToUSDUpdateTs", values?: undefined): string;
    encodeFunctionData(functionFragment: "liquidityProvisionIsPaused", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "maintainer", values?: undefined): string;
    encodeFunctionData(functionFragment: "pause", values?: undefined): string;
    encodeFunctionData(functionFragment: "paused", values?: undefined): string;
    encodeFunctionData(functionFragment: "perpBaseToUSDOracle", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "perpToLastBaseToUSD", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "setImplementation", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setImplementationCrossModules", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "setProxyOwner", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "traderVolumeEMA", values: [BigNumberish, AddressLike]): string;
    encodeFunctionData(functionFragment: "traderVolumeFeesTbps", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "traderVolumeTiers", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "transferGovernance", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "transferMaintainer", values: [AddressLike]): string;
    encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
    decodeFunctionResult(functionFragment: "brokerVolumeEMA", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "brokerVolumeFeesTbps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "brokerVolumeTiers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getModuleImplementationAddress", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getProxyOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "lastBaseToUSDUpdateTs", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "liquidityProvisionIsPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "maintainer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "perpBaseToUSDOracle", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "perpToLastBaseToUSD", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setImplementationCrossModules", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "setProxyOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "traderVolumeEMA", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "traderVolumeFeesTbps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "traderVolumeTiers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferGovernance", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferMaintainer", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
}
export declare namespace BrokerLotsTransferredEvent {
    type InputTuple = [
        poolId: BigNumberish,
        oldOwner: AddressLike,
        newOwner: AddressLike,
        numLots: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        oldOwner: string,
        newOwner: string,
        numLots: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        oldOwner: string;
        newOwner: string;
        numLots: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace BrokerVolumeTransferredEvent {
    type InputTuple = [
        poolId: BigNumberish,
        oldOwner: AddressLike,
        newOwner: AddressLike,
        fVolume: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        oldOwner: string,
        newOwner: string,
        fVolume: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        oldOwner: string;
        newOwner: string;
        fVolume: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ClearEvent {
    type InputTuple = [perpetualId: BigNumberish, trader: AddressLike];
    type OutputTuple = [perpetualId: bigint, trader: string];
    interface OutputObject {
        perpetualId: bigint;
        trader: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace DistributeFeesEvent {
    type InputTuple = [
        poolId: BigNumberish,
        perpetualId: BigNumberish,
        trader: AddressLike,
        protocolFeeCC: BigNumberish,
        participationFundFeeCC: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        perpetualId: bigint,
        trader: string,
        protocolFeeCC: bigint,
        participationFundFeeCC: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        perpetualId: bigint;
        trader: string;
        protocolFeeCC: bigint;
        participationFundFeeCC: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace GovernanceTransferredEvent {
    type InputTuple = [
        previousGovernance: AddressLike,
        newGovernance: AddressLike
    ];
    type OutputTuple = [previousGovernance: string, newGovernance: string];
    interface OutputObject {
        previousGovernance: string;
        newGovernance: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ImplementationChangedEvent {
    type InputTuple = [
        _sig: BytesLike,
        _oldImplementation: AddressLike,
        _newImplementation: AddressLike
    ];
    type OutputTuple = [
        _sig: string,
        _oldImplementation: string,
        _newImplementation: string
    ];
    interface OutputObject {
        _sig: string;
        _oldImplementation: string;
        _newImplementation: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidateEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        liquidator: AddressLike,
        trader: AddressLike,
        amountLiquidatedBC: BigNumberish,
        liquidationPrice: BigNumberish,
        newPositionSizeBC: BigNumberish,
        fFeeCC: BigNumberish,
        fPnlCC: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        liquidator: string,
        trader: string,
        amountLiquidatedBC: bigint,
        liquidationPrice: bigint,
        newPositionSizeBC: bigint,
        fFeeCC: bigint,
        fPnlCC: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        liquidator: string;
        trader: string;
        amountLiquidatedBC: bigint;
        liquidationPrice: bigint;
        newPositionSizeBC: bigint;
        fFeeCC: bigint;
        fPnlCC: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidityAddedEvent {
    type InputTuple = [
        poolId: BigNumberish,
        user: AddressLike,
        tokenAmount: BigNumberish,
        shareAmount: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        user: string,
        tokenAmount: bigint,
        shareAmount: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        user: string;
        tokenAmount: bigint;
        shareAmount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidityPoolCreatedEvent {
    type InputTuple = [
        id: BigNumberish,
        marginTokenAddress: AddressLike,
        shareTokenAddress: AddressLike,
        iTargetPoolSizeUpdateTime: BigNumberish,
        fBrokerCollateralLotSize: BigNumberish
    ];
    type OutputTuple = [
        id: bigint,
        marginTokenAddress: string,
        shareTokenAddress: string,
        iTargetPoolSizeUpdateTime: bigint,
        fBrokerCollateralLotSize: bigint
    ];
    interface OutputObject {
        id: bigint;
        marginTokenAddress: string;
        shareTokenAddress: string;
        iTargetPoolSizeUpdateTime: bigint;
        fBrokerCollateralLotSize: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidityProvisionPausedEvent {
    type InputTuple = [pauseOn: boolean, poolId: BigNumberish];
    type OutputTuple = [pauseOn: boolean, poolId: bigint];
    interface OutputObject {
        pauseOn: boolean;
        poolId: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidityRemovedEvent {
    type InputTuple = [
        poolId: BigNumberish,
        user: AddressLike,
        tokenAmount: BigNumberish,
        shareAmount: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        user: string,
        tokenAmount: bigint,
        shareAmount: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        user: string;
        tokenAmount: bigint;
        shareAmount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace LiquidityWithdrawalInitiatedEvent {
    type InputTuple = [
        poolId: BigNumberish,
        user: AddressLike,
        shareAmount: BigNumberish
    ];
    type OutputTuple = [poolId: bigint, user: string, shareAmount: bigint];
    interface OutputObject {
        poolId: bigint;
        user: string;
        shareAmount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace MaintainerTransferredEvent {
    type InputTuple = [
        previousMaintainer: AddressLike,
        newMaintainer: AddressLike
    ];
    type OutputTuple = [previousMaintainer: string, newMaintainer: string];
    interface OutputObject {
        previousMaintainer: string;
        newMaintainer: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PausedEvent {
    type InputTuple = [account: AddressLike];
    type OutputTuple = [account: string];
    interface OutputObject {
        account: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PerpetualCreatedEvent {
    type InputTuple = [
        poolId: BigNumberish,
        id: BigNumberish,
        baseParams: BigNumberish[],
        underlyingRiskParams: [
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish
        ],
        defaultFundRiskParams: BigNumberish[],
        eCollateralCurrency: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        id: bigint,
        baseParams: bigint[],
        underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint],
        defaultFundRiskParams: bigint[],
        eCollateralCurrency: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        id: bigint;
        baseParams: bigint[];
        underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint];
        defaultFundRiskParams: bigint[];
        eCollateralCurrency: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace PerpetualLimitOrderCancelledEvent {
    type InputTuple = [perpetualId: BigNumberish, orderHash: BytesLike];
    type OutputTuple = [perpetualId: bigint, orderHash: string];
    interface OutputObject {
        perpetualId: bigint;
        orderHash: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace ProxyOwnershipTransferredEvent {
    type InputTuple = [_oldOwner: AddressLike, _newOwner: AddressLike];
    type OutputTuple = [_oldOwner: string, _newOwner: string];
    interface OutputObject {
        _oldOwner: string;
        _newOwner: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RunLiquidityPoolEvent {
    type InputTuple = [_liqPoolID: BigNumberish];
    type OutputTuple = [_liqPoolID: bigint];
    interface OutputObject {
        _liqPoolID: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetBlockDelayEvent {
    type InputTuple = [delay: BigNumberish];
    type OutputTuple = [delay: bigint];
    interface OutputObject {
        delay: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetBrokerDesignationsEvent {
    type InputTuple = [designations: BigNumberish[], fees: BigNumberish[]];
    type OutputTuple = [designations: bigint[], fees: bigint[]];
    interface OutputObject {
        designations: bigint[];
        fees: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetBrokerTiersEvent {
    type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]];
    type OutputTuple = [tiers: bigint[], feesTbps: bigint[]];
    interface OutputObject {
        tiers: bigint[];
        feesTbps: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetBrokerVolumeTiersEvent {
    type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]];
    type OutputTuple = [tiers: bigint[], feesTbps: bigint[]];
    interface OutputObject {
        tiers: bigint[];
        feesTbps: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetClearedStateEvent {
    type InputTuple = [perpetualId: BigNumberish];
    type OutputTuple = [perpetualId: bigint];
    interface OutputObject {
        perpetualId: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetDelegateEvent {
    type InputTuple = [
        trader: AddressLike,
        delegate: AddressLike,
        index: BigNumberish
    ];
    type OutputTuple = [trader: string, delegate: string, index: bigint];
    interface OutputObject {
        trader: string;
        delegate: string;
        index: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetEmergencyStateEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        fSettlementMarkPremiumRate: BigNumberish,
        fSettlementS2Price: BigNumberish,
        fSettlementS3Price: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        fSettlementMarkPremiumRate: bigint,
        fSettlementS2Price: bigint,
        fSettlementS3Price: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        fSettlementMarkPremiumRate: bigint;
        fSettlementS2Price: bigint;
        fSettlementS3Price: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetNormalStateEvent {
    type InputTuple = [perpetualId: BigNumberish];
    type OutputTuple = [perpetualId: bigint];
    interface OutputObject {
        perpetualId: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetOraclesEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        baseQuoteS2: [BytesLike, BytesLike],
        baseQuoteS3: [BytesLike, BytesLike]
    ];
    type OutputTuple = [
        perpetualId: bigint,
        baseQuoteS2: [string, string],
        baseQuoteS3: [string, string]
    ];
    interface OutputObject {
        perpetualId: bigint;
        baseQuoteS2: [string, string];
        baseQuoteS3: [string, string];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetParameterEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        name: string,
        value: BigNumberish
    ];
    type OutputTuple = [perpetualId: bigint, name: string, value: bigint];
    interface OutputObject {
        perpetualId: bigint;
        name: string;
        value: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetParameterPairEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        name: string,
        value1: BigNumberish,
        value2: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        name: string,
        value1: bigint,
        value2: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        name: string;
        value1: bigint;
        value2: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetPerpetualBaseParametersEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        baseParams: BigNumberish[]
    ];
    type OutputTuple = [perpetualId: bigint, baseParams: bigint[]];
    interface OutputObject {
        perpetualId: bigint;
        baseParams: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetPerpetualRiskParametersEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        underlyingRiskParams: [
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish,
            BigNumberish
        ],
        defaultFundRiskParams: BigNumberish[]
    ];
    type OutputTuple = [
        perpetualId: bigint,
        underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint],
        defaultFundRiskParams: bigint[]
    ];
    interface OutputObject {
        perpetualId: bigint;
        underlyingRiskParams: [bigint, bigint, bigint, bigint, bigint];
        defaultFundRiskParams: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetPoolParameterEvent {
    type InputTuple = [
        poolId: BigNumberish,
        name: string,
        value: BigNumberish
    ];
    type OutputTuple = [poolId: bigint, name: string, value: bigint];
    interface OutputObject {
        poolId: bigint;
        name: string;
        value: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetTraderTiersEvent {
    type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]];
    type OutputTuple = [tiers: bigint[], feesTbps: bigint[]];
    interface OutputObject {
        tiers: bigint[];
        feesTbps: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetTraderVolumeTiersEvent {
    type InputTuple = [tiers: BigNumberish[], feesTbps: BigNumberish[]];
    type OutputTuple = [tiers: bigint[], feesTbps: bigint[]];
    interface OutputObject {
        tiers: bigint[];
        feesTbps: bigint[];
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SetUtilityTokenEvent {
    type InputTuple = [tokenAddr: AddressLike];
    type OutputTuple = [tokenAddr: string];
    interface OutputObject {
        tokenAddr: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SettleEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        trader: AddressLike,
        amount: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        trader: string,
        amount: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        trader: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SettleStateEvent {
    type InputTuple = [perpetualId: BigNumberish];
    type OutputTuple = [perpetualId: bigint];
    interface OutputObject {
        perpetualId: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace SettlementCompleteEvent {
    type InputTuple = [perpetualId: BigNumberish];
    type OutputTuple = [perpetualId: bigint];
    interface OutputObject {
        perpetualId: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TokensDepositedEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        trader: AddressLike,
        amount: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        trader: string,
        amount: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        trader: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TokensWithdrawnEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        trader: AddressLike,
        amount: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        trader: string,
        amount: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        trader: string;
        amount: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TradeEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        trader: AddressLike,
        order: IPerpetualOrder.OrderStruct,
        orderDigest: BytesLike,
        newPositionSizeBC: BigNumberish,
        price: BigNumberish,
        fFeeCC: BigNumberish,
        fPnlCC: BigNumberish,
        fB2C: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        trader: string,
        order: IPerpetualOrder.OrderStructOutput,
        orderDigest: string,
        newPositionSizeBC: bigint,
        price: bigint,
        fFeeCC: bigint,
        fPnlCC: bigint,
        fB2C: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        trader: string;
        order: IPerpetualOrder.OrderStructOutput;
        orderDigest: string;
        newPositionSizeBC: bigint;
        price: bigint;
        fFeeCC: bigint;
        fPnlCC: bigint;
        fB2C: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace TransferAddressToEvent {
    type InputTuple = [
        name: string,
        oldOBFactory: AddressLike,
        newOBFactory: AddressLike
    ];
    type OutputTuple = [
        name: string,
        oldOBFactory: string,
        newOBFactory: string
    ];
    interface OutputObject {
        name: string;
        oldOBFactory: string;
        newOBFactory: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UnpausedEvent {
    type InputTuple = [account: AddressLike];
    type OutputTuple = [account: string];
    interface OutputObject {
        account: string;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UpdateBrokerAddedCashEvent {
    type InputTuple = [
        poolId: BigNumberish,
        iLots: BigNumberish,
        iNewBrokerLots: BigNumberish
    ];
    type OutputTuple = [
        poolId: bigint,
        iLots: bigint,
        iNewBrokerLots: bigint
    ];
    interface OutputObject {
        poolId: bigint;
        iLots: bigint;
        iNewBrokerLots: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UpdateFundingRateEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        fFundingRate: BigNumberish
    ];
    type OutputTuple = [perpetualId: bigint, fFundingRate: bigint];
    interface OutputObject {
        perpetualId: bigint;
        fFundingRate: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UpdateMarginAccountEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        trader: AddressLike,
        fFundingPaymentCC: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        trader: string,
        fFundingPaymentCC: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        trader: string;
        fFundingPaymentCC: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export declare namespace UpdateMarkPriceEvent {
    type InputTuple = [
        perpetualId: BigNumberish,
        fMidPricePremium: BigNumberish,
        fMarkPricePremium: BigNumberish,
        fSpotIndexPrice: BigNumberish
    ];
    type OutputTuple = [
        perpetualId: bigint,
        fMidPricePremium: bigint,
        fMarkPricePremium: bigint,
        fSpotIndexPrice: bigint
    ];
    interface OutputObject {
        perpetualId: bigint;
        fMidPricePremium: bigint;
        fMarkPricePremium: bigint;
        fSpotIndexPrice: bigint;
    }
    type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
    type Filter = TypedDeferredTopicFilter<Event>;
    type Log = TypedEventLog<Event>;
    type LogDescription = TypedLogDescription<Event>;
}
export interface PerpetualManagerProxy extends BaseContract {
    connect(runner?: ContractRunner | null): PerpetualManagerProxy;
    waitForDeployment(): Promise<this>;
    interface: PerpetualManagerProxyInterface;
    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>;
    brokerVolumeEMA: TypedContractMethod<[
        arg0: BigNumberish,
        arg1: AddressLike
    ], [
        [bigint, bigint] & {
            fTradingVolumeEMAusd: bigint;
            timestamp: bigint;
        }
    ], "view">;
    brokerVolumeFeesTbps: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        bigint
    ], "view">;
    brokerVolumeTiers: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        bigint
    ], "view">;
    getImplementation: TypedContractMethod<[_sig: BytesLike], [string], "view">;
    getModuleImplementationAddress: TypedContractMethod<[
        _moduleName: string
    ], [
        string
    ], "view">;
    getProxyOwner: TypedContractMethod<[], [string], "view">;
    governance: TypedContractMethod<[], [string], "view">;
    lastBaseToUSDUpdateTs: TypedContractMethod<[], [bigint], "view">;
    liquidityProvisionIsPaused: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        boolean
    ], "view">;
    maintainer: TypedContractMethod<[], [string], "view">;
    pause: TypedContractMethod<[], [void], "nonpayable">;
    paused: TypedContractMethod<[], [boolean], "view">;
    perpBaseToUSDOracle: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        string
    ], "view">;
    perpToLastBaseToUSD: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        bigint
    ], "view">;
    setImplementation: TypedContractMethod<[
        _impl: AddressLike
    ], [
        void
    ], "nonpayable">;
    setImplementationCrossModules: TypedContractMethod<[
        _impl: AddressLike
    ], [
        void
    ], "nonpayable">;
    setProxyOwner: TypedContractMethod<[
        _owner: AddressLike
    ], [
        void
    ], "nonpayable">;
    traderVolumeEMA: TypedContractMethod<[
        arg0: BigNumberish,
        arg1: AddressLike
    ], [
        [bigint, bigint] & {
            fTradingVolumeEMAusd: bigint;
            timestamp: bigint;
        }
    ], "view">;
    traderVolumeFeesTbps: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        bigint
    ], "view">;
    traderVolumeTiers: TypedContractMethod<[
        arg0: BigNumberish
    ], [
        bigint
    ], "view">;
    transferGovernance: TypedContractMethod<[
        newGovernance: AddressLike
    ], [
        void
    ], "nonpayable">;
    transferMaintainer: TypedContractMethod<[
        newMaintainer: AddressLike
    ], [
        void
    ], "nonpayable">;
    unpause: TypedContractMethod<[], [void], "nonpayable">;
    getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
    getFunction(nameOrSignature: "brokerVolumeEMA"): TypedContractMethod<[
        arg0: BigNumberish,
        arg1: AddressLike
    ], [
        [bigint, bigint] & {
            fTradingVolumeEMAusd: bigint;
            timestamp: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "brokerVolumeFeesTbps"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "brokerVolumeTiers"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "getImplementation"): TypedContractMethod<[_sig: BytesLike], [string], "view">;
    getFunction(nameOrSignature: "getModuleImplementationAddress"): TypedContractMethod<[_moduleName: string], [string], "view">;
    getFunction(nameOrSignature: "getProxyOwner"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "governance"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "lastBaseToUSDUpdateTs"): TypedContractMethod<[], [bigint], "view">;
    getFunction(nameOrSignature: "liquidityProvisionIsPaused"): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">;
    getFunction(nameOrSignature: "maintainer"): TypedContractMethod<[], [string], "view">;
    getFunction(nameOrSignature: "pause"): TypedContractMethod<[], [void], "nonpayable">;
    getFunction(nameOrSignature: "paused"): TypedContractMethod<[], [boolean], "view">;
    getFunction(nameOrSignature: "perpBaseToUSDOracle"): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
    getFunction(nameOrSignature: "perpToLastBaseToUSD"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "setImplementation"): TypedContractMethod<[_impl: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setImplementationCrossModules"): TypedContractMethod<[_impl: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "setProxyOwner"): TypedContractMethod<[_owner: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "traderVolumeEMA"): TypedContractMethod<[
        arg0: BigNumberish,
        arg1: AddressLike
    ], [
        [bigint, bigint] & {
            fTradingVolumeEMAusd: bigint;
            timestamp: bigint;
        }
    ], "view">;
    getFunction(nameOrSignature: "traderVolumeFeesTbps"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "traderVolumeTiers"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
    getFunction(nameOrSignature: "transferGovernance"): TypedContractMethod<[newGovernance: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "transferMaintainer"): TypedContractMethod<[newMaintainer: AddressLike], [void], "nonpayable">;
    getFunction(nameOrSignature: "unpause"): TypedContractMethod<[], [void], "nonpayable">;
    getEvent(key: "BrokerLotsTransferred"): TypedContractEvent<BrokerLotsTransferredEvent.InputTuple, BrokerLotsTransferredEvent.OutputTuple, BrokerLotsTransferredEvent.OutputObject>;
    getEvent(key: "BrokerVolumeTransferred"): TypedContractEvent<BrokerVolumeTransferredEvent.InputTuple, BrokerVolumeTransferredEvent.OutputTuple, BrokerVolumeTransferredEvent.OutputObject>;
    getEvent(key: "Clear"): TypedContractEvent<ClearEvent.InputTuple, ClearEvent.OutputTuple, ClearEvent.OutputObject>;
    getEvent(key: "DistributeFees"): TypedContractEvent<DistributeFeesEvent.InputTuple, DistributeFeesEvent.OutputTuple, DistributeFeesEvent.OutputObject>;
    getEvent(key: "GovernanceTransferred"): TypedContractEvent<GovernanceTransferredEvent.InputTuple, GovernanceTransferredEvent.OutputTuple, GovernanceTransferredEvent.OutputObject>;
    getEvent(key: "ImplementationChanged"): TypedContractEvent<ImplementationChangedEvent.InputTuple, ImplementationChangedEvent.OutputTuple, ImplementationChangedEvent.OutputObject>;
    getEvent(key: "Liquidate"): TypedContractEvent<LiquidateEvent.InputTuple, LiquidateEvent.OutputTuple, LiquidateEvent.OutputObject>;
    getEvent(key: "LiquidityAdded"): TypedContractEvent<LiquidityAddedEvent.InputTuple, LiquidityAddedEvent.OutputTuple, LiquidityAddedEvent.OutputObject>;
    getEvent(key: "LiquidityPoolCreated"): TypedContractEvent<LiquidityPoolCreatedEvent.InputTuple, LiquidityPoolCreatedEvent.OutputTuple, LiquidityPoolCreatedEvent.OutputObject>;
    getEvent(key: "LiquidityProvisionPaused"): TypedContractEvent<LiquidityProvisionPausedEvent.InputTuple, LiquidityProvisionPausedEvent.OutputTuple, LiquidityProvisionPausedEvent.OutputObject>;
    getEvent(key: "LiquidityRemoved"): TypedContractEvent<LiquidityRemovedEvent.InputTuple, LiquidityRemovedEvent.OutputTuple, LiquidityRemovedEvent.OutputObject>;
    getEvent(key: "LiquidityWithdrawalInitiated"): TypedContractEvent<LiquidityWithdrawalInitiatedEvent.InputTuple, LiquidityWithdrawalInitiatedEvent.OutputTuple, LiquidityWithdrawalInitiatedEvent.OutputObject>;
    getEvent(key: "MaintainerTransferred"): TypedContractEvent<MaintainerTransferredEvent.InputTuple, MaintainerTransferredEvent.OutputTuple, MaintainerTransferredEvent.OutputObject>;
    getEvent(key: "Paused"): TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>;
    getEvent(key: "PerpetualCreated"): TypedContractEvent<PerpetualCreatedEvent.InputTuple, PerpetualCreatedEvent.OutputTuple, PerpetualCreatedEvent.OutputObject>;
    getEvent(key: "PerpetualLimitOrderCancelled"): TypedContractEvent<PerpetualLimitOrderCancelledEvent.InputTuple, PerpetualLimitOrderCancelledEvent.OutputTuple, PerpetualLimitOrderCancelledEvent.OutputObject>;
    getEvent(key: "ProxyOwnershipTransferred"): TypedContractEvent<ProxyOwnershipTransferredEvent.InputTuple, ProxyOwnershipTransferredEvent.OutputTuple, ProxyOwnershipTransferredEvent.OutputObject>;
    getEvent(key: "RunLiquidityPool"): TypedContractEvent<RunLiquidityPoolEvent.InputTuple, RunLiquidityPoolEvent.OutputTuple, RunLiquidityPoolEvent.OutputObject>;
    getEvent(key: "SetBlockDelay"): TypedContractEvent<SetBlockDelayEvent.InputTuple, SetBlockDelayEvent.OutputTuple, SetBlockDelayEvent.OutputObject>;
    getEvent(key: "SetBrokerDesignations"): TypedContractEvent<SetBrokerDesignationsEvent.InputTuple, SetBrokerDesignationsEvent.OutputTuple, SetBrokerDesignationsEvent.OutputObject>;
    getEvent(key: "SetBrokerTiers"): TypedContractEvent<SetBrokerTiersEvent.InputTuple, SetBrokerTiersEvent.OutputTuple, SetBrokerTiersEvent.OutputObject>;
    getEvent(key: "SetBrokerVolumeTiers"): TypedContractEvent<SetBrokerVolumeTiersEvent.InputTuple, SetBrokerVolumeTiersEvent.OutputTuple, SetBrokerVolumeTiersEvent.OutputObject>;
    getEvent(key: "SetClearedState"): TypedContractEvent<SetClearedStateEvent.InputTuple, SetClearedStateEvent.OutputTuple, SetClearedStateEvent.OutputObject>;
    getEvent(key: "SetDelegate"): TypedContractEvent<SetDelegateEvent.InputTuple, SetDelegateEvent.OutputTuple, SetDelegateEvent.OutputObject>;
    getEvent(key: "SetEmergencyState"): TypedContractEvent<SetEmergencyStateEvent.InputTuple, SetEmergencyStateEvent.OutputTuple, SetEmergencyStateEvent.OutputObject>;
    getEvent(key: "SetNormalState"): TypedContractEvent<SetNormalStateEvent.InputTuple, SetNormalStateEvent.OutputTuple, SetNormalStateEvent.OutputObject>;
    getEvent(key: "SetOracles"): TypedContractEvent<SetOraclesEvent.InputTuple, SetOraclesEvent.OutputTuple, SetOraclesEvent.OutputObject>;
    getEvent(key: "SetParameter"): TypedContractEvent<SetParameterEvent.InputTuple, SetParameterEvent.OutputTuple, SetParameterEvent.OutputObject>;
    getEvent(key: "SetParameterPair"): TypedContractEvent<SetParameterPairEvent.InputTuple, SetParameterPairEvent.OutputTuple, SetParameterPairEvent.OutputObject>;
    getEvent(key: "SetPerpetualBaseParameters"): TypedContractEvent<SetPerpetualBaseParametersEvent.InputTuple, SetPerpetualBaseParametersEvent.OutputTuple, SetPerpetualBaseParametersEvent.OutputObject>;
    getEvent(key: "SetPerpetualRiskParameters"): TypedContractEvent<SetPerpetualRiskParametersEvent.InputTuple, SetPerpetualRiskParametersEvent.OutputTuple, SetPerpetualRiskParametersEvent.OutputObject>;
    getEvent(key: "SetPoolParameter"): TypedContractEvent<SetPoolParameterEvent.InputTuple, SetPoolParameterEvent.OutputTuple, SetPoolParameterEvent.OutputObject>;
    getEvent(key: "SetTraderTiers"): TypedContractEvent<SetTraderTiersEvent.InputTuple, SetTraderTiersEvent.OutputTuple, SetTraderTiersEvent.OutputObject>;
    getEvent(key: "SetTraderVolumeTiers"): TypedContractEvent<SetTraderVolumeTiersEvent.InputTuple, SetTraderVolumeTiersEvent.OutputTuple, SetTraderVolumeTiersEvent.OutputObject>;
    getEvent(key: "SetUtilityToken"): TypedContractEvent<SetUtilityTokenEvent.InputTuple, SetUtilityTokenEvent.OutputTuple, SetUtilityTokenEvent.OutputObject>;
    getEvent(key: "Settle"): TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>;
    getEvent(key: "SettleState"): TypedContractEvent<SettleStateEvent.InputTuple, SettleStateEvent.OutputTuple, SettleStateEvent.OutputObject>;
    getEvent(key: "SettlementComplete"): TypedContractEvent<SettlementCompleteEvent.InputTuple, SettlementCompleteEvent.OutputTuple, SettlementCompleteEvent.OutputObject>;
    getEvent(key: "TokensDeposited"): TypedContractEvent<TokensDepositedEvent.InputTuple, TokensDepositedEvent.OutputTuple, TokensDepositedEvent.OutputObject>;
    getEvent(key: "TokensWithdrawn"): TypedContractEvent<TokensWithdrawnEvent.InputTuple, TokensWithdrawnEvent.OutputTuple, TokensWithdrawnEvent.OutputObject>;
    getEvent(key: "Trade"): TypedContractEvent<TradeEvent.InputTuple, TradeEvent.OutputTuple, TradeEvent.OutputObject>;
    getEvent(key: "TransferAddressTo"): TypedContractEvent<TransferAddressToEvent.InputTuple, TransferAddressToEvent.OutputTuple, TransferAddressToEvent.OutputObject>;
    getEvent(key: "Unpaused"): TypedContractEvent<UnpausedEvent.InputTuple, UnpausedEvent.OutputTuple, UnpausedEvent.OutputObject>;
    getEvent(key: "UpdateBrokerAddedCash"): TypedContractEvent<UpdateBrokerAddedCashEvent.InputTuple, UpdateBrokerAddedCashEvent.OutputTuple, UpdateBrokerAddedCashEvent.OutputObject>;
    getEvent(key: "UpdateFundingRate"): TypedContractEvent<UpdateFundingRateEvent.InputTuple, UpdateFundingRateEvent.OutputTuple, UpdateFundingRateEvent.OutputObject>;
    getEvent(key: "UpdateMarginAccount"): TypedContractEvent<UpdateMarginAccountEvent.InputTuple, UpdateMarginAccountEvent.OutputTuple, UpdateMarginAccountEvent.OutputObject>;
    getEvent(key: "UpdateMarkPrice"): TypedContractEvent<UpdateMarkPriceEvent.InputTuple, UpdateMarkPriceEvent.OutputTuple, UpdateMarkPriceEvent.OutputObject>;
    filters: {
        "BrokerLotsTransferred(uint8,address,address,uint32)": TypedContractEvent<BrokerLotsTransferredEvent.InputTuple, BrokerLotsTransferredEvent.OutputTuple, BrokerLotsTransferredEvent.OutputObject>;
        BrokerLotsTransferred: TypedContractEvent<BrokerLotsTransferredEvent.InputTuple, BrokerLotsTransferredEvent.OutputTuple, BrokerLotsTransferredEvent.OutputObject>;
        "BrokerVolumeTransferred(uint8,address,address,int128)": TypedContractEvent<BrokerVolumeTransferredEvent.InputTuple, BrokerVolumeTransferredEvent.OutputTuple, BrokerVolumeTransferredEvent.OutputObject>;
        BrokerVolumeTransferred: TypedContractEvent<BrokerVolumeTransferredEvent.InputTuple, BrokerVolumeTransferredEvent.OutputTuple, BrokerVolumeTransferredEvent.OutputObject>;
        "Clear(uint24,address)": TypedContractEvent<ClearEvent.InputTuple, ClearEvent.OutputTuple, ClearEvent.OutputObject>;
        Clear: TypedContractEvent<ClearEvent.InputTuple, ClearEvent.OutputTuple, ClearEvent.OutputObject>;
        "DistributeFees(uint8,uint24,address,int128,int128)": TypedContractEvent<DistributeFeesEvent.InputTuple, DistributeFeesEvent.OutputTuple, DistributeFeesEvent.OutputObject>;
        DistributeFees: TypedContractEvent<DistributeFeesEvent.InputTuple, DistributeFeesEvent.OutputTuple, DistributeFeesEvent.OutputObject>;
        "GovernanceTransferred(address,address)": TypedContractEvent<GovernanceTransferredEvent.InputTuple, GovernanceTransferredEvent.OutputTuple, GovernanceTransferredEvent.OutputObject>;
        GovernanceTransferred: TypedContractEvent<GovernanceTransferredEvent.InputTuple, GovernanceTransferredEvent.OutputTuple, GovernanceTransferredEvent.OutputObject>;
        "ImplementationChanged(bytes4,address,address)": TypedContractEvent<ImplementationChangedEvent.InputTuple, ImplementationChangedEvent.OutputTuple, ImplementationChangedEvent.OutputObject>;
        ImplementationChanged: TypedContractEvent<ImplementationChangedEvent.InputTuple, ImplementationChangedEvent.OutputTuple, ImplementationChangedEvent.OutputObject>;
        "Liquidate(uint24,address,address,int128,int128,int128,int128,int128)": TypedContractEvent<LiquidateEvent.InputTuple, LiquidateEvent.OutputTuple, LiquidateEvent.OutputObject>;
        Liquidate: TypedContractEvent<LiquidateEvent.InputTuple, LiquidateEvent.OutputTuple, LiquidateEvent.OutputObject>;
        "LiquidityAdded(uint8,address,uint256,uint256)": TypedContractEvent<LiquidityAddedEvent.InputTuple, LiquidityAddedEvent.OutputTuple, LiquidityAddedEvent.OutputObject>;
        LiquidityAdded: TypedContractEvent<LiquidityAddedEvent.InputTuple, LiquidityAddedEvent.OutputTuple, LiquidityAddedEvent.OutputObject>;
        "LiquidityPoolCreated(uint8,address,address,uint16,int128)": TypedContractEvent<LiquidityPoolCreatedEvent.InputTuple, LiquidityPoolCreatedEvent.OutputTuple, LiquidityPoolCreatedEvent.OutputObject>;
        LiquidityPoolCreated: TypedContractEvent<LiquidityPoolCreatedEvent.InputTuple, LiquidityPoolCreatedEvent.OutputTuple, LiquidityPoolCreatedEvent.OutputObject>;
        "LiquidityProvisionPaused(bool,uint8)": TypedContractEvent<LiquidityProvisionPausedEvent.InputTuple, LiquidityProvisionPausedEvent.OutputTuple, LiquidityProvisionPausedEvent.OutputObject>;
        LiquidityProvisionPaused: TypedContractEvent<LiquidityProvisionPausedEvent.InputTuple, LiquidityProvisionPausedEvent.OutputTuple, LiquidityProvisionPausedEvent.OutputObject>;
        "LiquidityRemoved(uint8,address,uint256,uint256)": TypedContractEvent<LiquidityRemovedEvent.InputTuple, LiquidityRemovedEvent.OutputTuple, LiquidityRemovedEvent.OutputObject>;
        LiquidityRemoved: TypedContractEvent<LiquidityRemovedEvent.InputTuple, LiquidityRemovedEvent.OutputTuple, LiquidityRemovedEvent.OutputObject>;
        "LiquidityWithdrawalInitiated(uint8,address,uint256)": TypedContractEvent<LiquidityWithdrawalInitiatedEvent.InputTuple, LiquidityWithdrawalInitiatedEvent.OutputTuple, LiquidityWithdrawalInitiatedEvent.OutputObject>;
        LiquidityWithdrawalInitiated: TypedContractEvent<LiquidityWithdrawalInitiatedEvent.InputTuple, LiquidityWithdrawalInitiatedEvent.OutputTuple, LiquidityWithdrawalInitiatedEvent.OutputObject>;
        "MaintainerTransferred(address,address)": TypedContractEvent<MaintainerTransferredEvent.InputTuple, MaintainerTransferredEvent.OutputTuple, MaintainerTransferredEvent.OutputObject>;
        MaintainerTransferred: TypedContractEvent<MaintainerTransferredEvent.InputTuple, MaintainerTransferredEvent.OutputTuple, MaintainerTransferredEvent.OutputObject>;
        "Paused(address)": TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>;
        Paused: TypedContractEvent<PausedEvent.InputTuple, PausedEvent.OutputTuple, PausedEvent.OutputObject>;
        "PerpetualCreated(uint8,uint24,int128[7],int128[5],int128[12],uint256)": TypedContractEvent<PerpetualCreatedEvent.InputTuple, PerpetualCreatedEvent.OutputTuple, PerpetualCreatedEvent.OutputObject>;
        PerpetualCreated: TypedContractEvent<PerpetualCreatedEvent.InputTuple, PerpetualCreatedEvent.OutputTuple, PerpetualCreatedEvent.OutputObject>;
        "PerpetualLimitOrderCancelled(uint24,bytes32)": TypedContractEvent<PerpetualLimitOrderCancelledEvent.InputTuple, PerpetualLimitOrderCancelledEvent.OutputTuple, PerpetualLimitOrderCancelledEvent.OutputObject>;
        PerpetualLimitOrderCancelled: TypedContractEvent<PerpetualLimitOrderCancelledEvent.InputTuple, PerpetualLimitOrderCancelledEvent.OutputTuple, PerpetualLimitOrderCancelledEvent.OutputObject>;
        "ProxyOwnershipTransferred(address,address)": TypedContractEvent<ProxyOwnershipTransferredEvent.InputTuple, ProxyOwnershipTransferredEvent.OutputTuple, ProxyOwnershipTransferredEvent.OutputObject>;
        ProxyOwnershipTransferred: TypedContractEvent<ProxyOwnershipTransferredEvent.InputTuple, ProxyOwnershipTransferredEvent.OutputTuple, ProxyOwnershipTransferredEvent.OutputObject>;
        "RunLiquidityPool(uint8)": TypedContractEvent<RunLiquidityPoolEvent.InputTuple, RunLiquidityPoolEvent.OutputTuple, RunLiquidityPoolEvent.OutputObject>;
        RunLiquidityPool: TypedContractEvent<RunLiquidityPoolEvent.InputTuple, RunLiquidityPoolEvent.OutputTuple, RunLiquidityPoolEvent.OutputObject>;
        "SetBlockDelay(uint8)": TypedContractEvent<SetBlockDelayEvent.InputTuple, SetBlockDelayEvent.OutputTuple, SetBlockDelayEvent.OutputObject>;
        SetBlockDelay: TypedContractEvent<SetBlockDelayEvent.InputTuple, SetBlockDelayEvent.OutputTuple, SetBlockDelayEvent.OutputObject>;
        "SetBrokerDesignations(uint32[],uint16[])": TypedContractEvent<SetBrokerDesignationsEvent.InputTuple, SetBrokerDesignationsEvent.OutputTuple, SetBrokerDesignationsEvent.OutputObject>;
        SetBrokerDesignations: TypedContractEvent<SetBrokerDesignationsEvent.InputTuple, SetBrokerDesignationsEvent.OutputTuple, SetBrokerDesignationsEvent.OutputObject>;
        "SetBrokerTiers(uint256[],uint16[])": TypedContractEvent<SetBrokerTiersEvent.InputTuple, SetBrokerTiersEvent.OutputTuple, SetBrokerTiersEvent.OutputObject>;
        SetBrokerTiers: TypedContractEvent<SetBrokerTiersEvent.InputTuple, SetBrokerTiersEvent.OutputTuple, SetBrokerTiersEvent.OutputObject>;
        "SetBrokerVolumeTiers(uint256[],uint16[])": TypedContractEvent<SetBrokerVolumeTiersEvent.InputTuple, SetBrokerVolumeTiersEvent.OutputTuple, SetBrokerVolumeTiersEvent.OutputObject>;
        SetBrokerVolumeTiers: TypedContractEvent<SetBrokerVolumeTiersEvent.InputTuple, SetBrokerVolumeTiersEvent.OutputTuple, SetBrokerVolumeTiersEvent.OutputObject>;
        "SetClearedState(uint24)": TypedContractEvent<SetClearedStateEvent.InputTuple, SetClearedStateEvent.OutputTuple, SetClearedStateEvent.OutputObject>;
        SetClearedState: TypedContractEvent<SetClearedStateEvent.InputTuple, SetClearedStateEvent.OutputTuple, SetClearedStateEvent.OutputObject>;
        "SetDelegate(address,address,uint256)": TypedContractEvent<SetDelegateEvent.InputTuple, SetDelegateEvent.OutputTuple, SetDelegateEvent.OutputObject>;
        SetDelegate: TypedContractEvent<SetDelegateEvent.InputTuple, SetDelegateEvent.OutputTuple, SetDelegateEvent.OutputObject>;
        "SetEmergencyState(uint24,int128,int128,int128)": TypedContractEvent<SetEmergencyStateEvent.InputTuple, SetEmergencyStateEvent.OutputTuple, SetEmergencyStateEvent.OutputObject>;
        SetEmergencyState: TypedContractEvent<SetEmergencyStateEvent.InputTuple, SetEmergencyStateEvent.OutputTuple, SetEmergencyStateEvent.OutputObject>;
        "SetNormalState(uint24)": TypedContractEvent<SetNormalStateEvent.InputTuple, SetNormalStateEvent.OutputTuple, SetNormalStateEvent.OutputObject>;
        SetNormalState: TypedContractEvent<SetNormalStateEvent.InputTuple, SetNormalStateEvent.OutputTuple, SetNormalStateEvent.OutputObject>;
        "SetOracles(uint24,bytes4[2],bytes4[2])": TypedContractEvent<SetOraclesEvent.InputTuple, SetOraclesEvent.OutputTuple, SetOraclesEvent.OutputObject>;
        SetOracles: TypedContractEvent<SetOraclesEvent.InputTuple, SetOraclesEvent.OutputTuple, SetOraclesEvent.OutputObject>;
        "SetParameter(uint24,string,int128)": TypedContractEvent<SetParameterEvent.InputTuple, SetParameterEvent.OutputTuple, SetParameterEvent.OutputObject>;
        SetParameter: TypedContractEvent<SetParameterEvent.InputTuple, SetParameterEvent.OutputTuple, SetParameterEvent.OutputObject>;
        "SetParameterPair(uint24,string,int128,int128)": TypedContractEvent<SetParameterPairEvent.InputTuple, SetParameterPairEvent.OutputTuple, SetParameterPairEvent.OutputObject>;
        SetParameterPair: TypedContractEvent<SetParameterPairEvent.InputTuple, SetParameterPairEvent.OutputTuple, SetParameterPairEvent.OutputObject>;
        "SetPerpetualBaseParameters(uint24,int128[7])": TypedContractEvent<SetPerpetualBaseParametersEvent.InputTuple, SetPerpetualBaseParametersEvent.OutputTuple, SetPerpetualBaseParametersEvent.OutputObject>;
        SetPerpetualBaseParameters: TypedContractEvent<SetPerpetualBaseParametersEvent.InputTuple, SetPerpetualBaseParametersEvent.OutputTuple, SetPerpetualBaseParametersEvent.OutputObject>;
        "SetPerpetualRiskParameters(uint24,int128[5],int128[12])": TypedContractEvent<SetPerpetualRiskParametersEvent.InputTuple, SetPerpetualRiskParametersEvent.OutputTuple, SetPerpetualRiskParametersEvent.OutputObject>;
        SetPerpetualRiskParameters: TypedContractEvent<SetPerpetualRiskParametersEvent.InputTuple, SetPerpetualRiskParametersEvent.OutputTuple, SetPerpetualRiskParametersEvent.OutputObject>;
        "SetPoolParameter(uint8,string,int128)": TypedContractEvent<SetPoolParameterEvent.InputTuple, SetPoolParameterEvent.OutputTuple, SetPoolParameterEvent.OutputObject>;
        SetPoolParameter: TypedContractEvent<SetPoolParameterEvent.InputTuple, SetPoolParameterEvent.OutputTuple, SetPoolParameterEvent.OutputObject>;
        "SetTraderTiers(uint256[],uint16[])": TypedContractEvent<SetTraderTiersEvent.InputTuple, SetTraderTiersEvent.OutputTuple, SetTraderTiersEvent.OutputObject>;
        SetTraderTiers: TypedContractEvent<SetTraderTiersEvent.InputTuple, SetTraderTiersEvent.OutputTuple, SetTraderTiersEvent.OutputObject>;
        "SetTraderVolumeTiers(uint256[],uint16[])": TypedContractEvent<SetTraderVolumeTiersEvent.InputTuple, SetTraderVolumeTiersEvent.OutputTuple, SetTraderVolumeTiersEvent.OutputObject>;
        SetTraderVolumeTiers: TypedContractEvent<SetTraderVolumeTiersEvent.InputTuple, SetTraderVolumeTiersEvent.OutputTuple, SetTraderVolumeTiersEvent.OutputObject>;
        "SetUtilityToken(address)": TypedContractEvent<SetUtilityTokenEvent.InputTuple, SetUtilityTokenEvent.OutputTuple, SetUtilityTokenEvent.OutputObject>;
        SetUtilityToken: TypedContractEvent<SetUtilityTokenEvent.InputTuple, SetUtilityTokenEvent.OutputTuple, SetUtilityTokenEvent.OutputObject>;
        "Settle(uint24,address,int256)": TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>;
        Settle: TypedContractEvent<SettleEvent.InputTuple, SettleEvent.OutputTuple, SettleEvent.OutputObject>;
        "SettleState(uint24)": TypedContractEvent<SettleStateEvent.InputTuple, SettleStateEvent.OutputTuple, SettleStateEvent.OutputObject>;
        SettleState: TypedContractEvent<SettleStateEvent.InputTuple, SettleStateEvent.OutputTuple, SettleStateEvent.OutputObject>;
        "SettlementComplete(uint24)": TypedContractEvent<SettlementCompleteEvent.InputTuple, SettlementCompleteEvent.OutputTuple, SettlementCompleteEvent.OutputObject>;
        SettlementComplete: TypedContractEvent<SettlementCompleteEvent.InputTuple, SettlementCompleteEvent.OutputTuple, SettlementCompleteEvent.OutputObject>;
        "TokensDeposited(uint24,address,int128)": TypedContractEvent<TokensDepositedEvent.InputTuple, TokensDepositedEvent.OutputTuple, TokensDepositedEvent.OutputObject>;
        TokensDeposited: TypedContractEvent<TokensDepositedEvent.InputTuple, TokensDepositedEvent.OutputTuple, TokensDepositedEvent.OutputObject>;
        "TokensWithdrawn(uint24,address,int128)": TypedContractEvent<TokensWithdrawnEvent.InputTuple, TokensWithdrawnEvent.OutputTuple, TokensWithdrawnEvent.OutputObject>;
        TokensWithdrawn: TypedContractEvent<TokensWithdrawnEvent.InputTuple, TokensWithdrawnEvent.OutputTuple, TokensWithdrawnEvent.OutputObject>;
        "Trade(uint24,address,tuple,bytes32,int128,int128,int128,int128,int128)": TypedContractEvent<TradeEvent.InputTuple, TradeEvent.OutputTuple, TradeEvent.OutputObject>;
        Trade: TypedContractEvent<TradeEvent.InputTuple, TradeEvent.OutputTuple, TradeEvent.OutputObject>;
        "TransferAddressTo(string,address,address)": TypedContractEvent<TransferAddressToEvent.InputTuple, TransferAddressToEvent.OutputTuple, TransferAddressToEvent.OutputObject>;
        TransferAddressTo: TypedContractEvent<TransferAddressToEvent.InputTuple, TransferAddressToEvent.OutputTuple, TransferAddressToEvent.OutputObject>;
        "Unpaused(address)": TypedContractEvent<UnpausedEvent.InputTuple, UnpausedEvent.OutputTuple, UnpausedEvent.OutputObject>;
        Unpaused: TypedContractEvent<UnpausedEvent.InputTuple, UnpausedEvent.OutputTuple, UnpausedEvent.OutputObject>;
        "UpdateBrokerAddedCash(uint8,uint32,uint32)": TypedContractEvent<UpdateBrokerAddedCashEvent.InputTuple, UpdateBrokerAddedCashEvent.OutputTuple, UpdateBrokerAddedCashEvent.OutputObject>;
        UpdateBrokerAddedCash: TypedContractEvent<UpdateBrokerAddedCashEvent.InputTuple, UpdateBrokerAddedCashEvent.OutputTuple, UpdateBrokerAddedCashEvent.OutputObject>;
        "UpdateFundingRate(uint24,int128)": TypedContractEvent<UpdateFundingRateEvent.InputTuple, UpdateFundingRateEvent.OutputTuple, UpdateFundingRateEvent.OutputObject>;
        UpdateFundingRate: TypedContractEvent<UpdateFundingRateEvent.InputTuple, UpdateFundingRateEvent.OutputTuple, UpdateFundingRateEvent.OutputObject>;
        "UpdateMarginAccount(uint24,address,int128)": TypedContractEvent<UpdateMarginAccountEvent.InputTuple, UpdateMarginAccountEvent.OutputTuple, UpdateMarginAccountEvent.OutputObject>;
        UpdateMarginAccount: TypedContractEvent<UpdateMarginAccountEvent.InputTuple, UpdateMarginAccountEvent.OutputTuple, UpdateMarginAccountEvent.OutputObject>;
        "UpdateMarkPrice(uint24,int128,int128,int128)": TypedContractEvent<UpdateMarkPriceEvent.InputTuple, UpdateMarkPriceEvent.OutputTuple, UpdateMarkPriceEvent.OutputObject>;
        UpdateMarkPrice: TypedContractEvent<UpdateMarkPriceEvent.InputTuple, UpdateMarkPriceEvent.OutputTuple, UpdateMarkPriceEvent.OutputObject>;
    };
}
