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 MakerPositionStruct = { quote: BigNumberish; base: BigNumberish; shares: BigNumberish; positionCache: BigNumberish; lastFeeGrowth: BigNumberish; lastPremiumFraction: BigNumberish; lastPremiumFractionPerShare: BigNumberish; lastSizeOffsetPerShare: BigNumberish; blockNumber: BigNumberish; }; export type MakerPositionStructOutput = [ quote: bigint, base: bigint, shares: bigint, positionCache: bigint, lastFeeGrowth: bigint, lastPremiumFraction: bigint, lastPremiumFractionPerShare: bigint, lastSizeOffsetPerShare: bigint, blockNumber: bigint ] & { quote: bigint; base: bigint; shares: bigint; positionCache: bigint; lastFeeGrowth: bigint; lastPremiumFraction: bigint; lastPremiumFractionPerShare: bigint; lastSizeOffsetPerShare: bigint; blockNumber: bigint; }; export interface AmmInterface extends Interface { getFunction(nameOrSignature: "addLiquidity" | "clearingHouse" | "getBaseToFill" | "getBaseToFillWithRemaining" | "getBaseValue" | "getBounds" | "getFeeGrowth" | "getIndexPrice" | "getLowerBound" | "getMakerFundingPayment" | "getMakerImpermanentPosition" | "getMakerPosition" | "getMarkPrice" | "getMarkPriceAfterClose" | "getMarkPriceAfterOpen" | "getMaxBaseToFill" | "getMaxQuoteToFill" | "getPendingMakerFeeAndFundingPayment" | "getPendingMakerFees" | "getQuoteToFill" | "getQuoteToFillWithRemaining" | "getQuoteValue" | "getRealReserves" | "getReserves" | "getReservesAndK" | "getReservesKAndMaxPrice" | "getShareValue" | "getSqrtBounds" | "getTotalSupply" | "getUpperBound" | "priceFeed" | "removeLiquidity" | "router" | "setBounds" | "settleMakerFundingAndFees" | "swapClose" | "swapOpen" | "updatePremiumFractionPerShare"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "CapChanged" | "FundingPeriodChanged" | "FundingRateUpdated" | "Initialized" | "MakerPositionChanged" | "NewPriceSnapshot" | "ReservesUpdated" | "SwapClose" | "SwapOpen" | "TickSpacingChanged" | "TradeLimitRatioChanged"): EventFragment; encodeFunctionData(functionFragment: "addLiquidity", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "clearingHouse", values?: undefined): string; encodeFunctionData(functionFragment: "getBaseToFill", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getBaseToFillWithRemaining", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getBaseValue", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getBounds", values?: undefined): string; encodeFunctionData(functionFragment: "getFeeGrowth", values?: undefined): string; encodeFunctionData(functionFragment: "getIndexPrice", values?: undefined): string; encodeFunctionData(functionFragment: "getLowerBound", values?: undefined): string; encodeFunctionData(functionFragment: "getMakerFundingPayment", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getMakerImpermanentPosition", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getMakerPosition", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getMarkPrice", values?: undefined): string; encodeFunctionData(functionFragment: "getMarkPriceAfterClose", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getMarkPriceAfterOpen", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getMaxBaseToFill", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getMaxQuoteToFill", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getPendingMakerFeeAndFundingPayment", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getPendingMakerFees", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getQuoteToFill", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getQuoteToFillWithRemaining", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getQuoteValue", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getRealReserves", values?: undefined): string; encodeFunctionData(functionFragment: "getReserves", values?: undefined): string; encodeFunctionData(functionFragment: "getReservesAndK", values?: undefined): string; encodeFunctionData(functionFragment: "getReservesKAndMaxPrice", values: [boolean]): string; encodeFunctionData(functionFragment: "getShareValue", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getSqrtBounds", values?: undefined): string; encodeFunctionData(functionFragment: "getTotalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "getUpperBound", values?: undefined): string; encodeFunctionData(functionFragment: "priceFeed", values?: undefined): string; encodeFunctionData(functionFragment: "removeLiquidity", values: [AddressLike, BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "router", values?: undefined): string; encodeFunctionData(functionFragment: "setBounds", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "settleMakerFundingAndFees", values: [AddressLike]): string; encodeFunctionData(functionFragment: "swapClose", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "swapOpen", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "updatePremiumFractionPerShare", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "addLiquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "clearingHouse", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBaseToFill", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBaseToFillWithRemaining", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBaseValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBounds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getFeeGrowth", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getIndexPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLowerBound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMakerFundingPayment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMakerImpermanentPosition", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMakerPosition", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMarkPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMarkPriceAfterClose", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMarkPriceAfterOpen", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMaxBaseToFill", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getMaxQuoteToFill", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPendingMakerFeeAndFundingPayment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPendingMakerFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getQuoteToFill", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getQuoteToFillWithRemaining", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getQuoteValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRealReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReservesAndK", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReservesKAndMaxPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getShareValue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSqrtBounds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUpperBound", data: BytesLike): Result; decodeFunctionResult(functionFragment: "priceFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquidity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setBounds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "settleMakerFundingAndFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapClose", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swapOpen", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePremiumFractionPerShare", data: BytesLike): Result; } export declare namespace CapChangedEvent { type InputTuple = [ maxSize: BigNumberish, openInterestNotionalCap: BigNumberish ]; type OutputTuple = [maxSize: bigint, openInterestNotionalCap: bigint]; interface OutputObject { maxSize: bigint; openInterestNotionalCap: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FundingPeriodChangedEvent { type InputTuple = [fundingPeriod: BigNumberish]; type OutputTuple = [fundingPeriod: bigint]; interface OutputObject { fundingPeriod: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FundingRateUpdatedEvent { type InputTuple = [fundingRate: BigNumberish, price: BigNumberish]; type OutputTuple = [fundingRate: bigint, price: bigint]; interface OutputObject { fundingRate: bigint; price: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace InitializedEvent { type InputTuple = [version: BigNumberish]; type OutputTuple = [version: bigint]; interface OutputObject { version: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MakerPositionChangedEvent { type InputTuple = [ maker: AddressLike, shareDelta: BigNumberish, remainingShares: BigNumberish, realizedFee: BigNumberish, fundingPayment: BigNumberish ]; type OutputTuple = [ maker: string, shareDelta: bigint, remainingShares: bigint, realizedFee: bigint, fundingPayment: bigint ]; interface OutputObject { maker: string; shareDelta: bigint; remainingShares: bigint; realizedFee: bigint; fundingPayment: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewPriceSnapshotEvent { type InputTuple = [markPrice: BigNumberish, timestamp: BigNumberish]; type OutputTuple = [markPrice: bigint, timestamp: bigint]; interface OutputObject { markPrice: bigint; timestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ReservesUpdatedEvent { type InputTuple = [ quoteReserve: BigNumberish, baseReserve: BigNumberish ]; type OutputTuple = [quoteReserve: bigint, baseReserve: bigint]; interface OutputObject { quoteReserve: bigint; baseReserve: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SwapCloseEvent { type InputTuple = [ dirOfBase: BigNumberish, quoteAmount: BigNumberish, baseAmount: BigNumberish ]; type OutputTuple = [ dirOfBase: bigint, quoteAmount: bigint, baseAmount: bigint ]; interface OutputObject { dirOfBase: bigint; quoteAmount: bigint; baseAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SwapOpenEvent { type InputTuple = [ dirOfQuote: BigNumberish, quoteAmount: BigNumberish, baseAmount: BigNumberish ]; type OutputTuple = [ dirOfQuote: bigint, quoteAmount: bigint, baseAmount: bigint ]; interface OutputObject { dirOfQuote: bigint; quoteAmount: bigint; baseAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TickSpacingChangedEvent { type InputTuple = [tickSpacing: BigNumberish]; type OutputTuple = [tickSpacing: bigint]; interface OutputObject { tickSpacing: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TradeLimitRatioChangedEvent { type InputTuple = [ratio: BigNumberish]; type OutputTuple = [ratio: bigint]; interface OutputObject { ratio: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface Amm extends BaseContract { connect(runner?: ContractRunner | null): Amm; waitForDeployment(): Promise; interface: AmmInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; addLiquidity: TypedContractMethod<[ maker: AddressLike, notional: BigNumberish ], [ [ bigint, bigint, bigint ] & { shares: bigint; quoteAmount: bigint; baseAmount: bigint; } ], "nonpayable">; clearingHouse: TypedContractMethod<[], [string], "view">; getBaseToFill: TypedContractMethod<[ targetPrice: BigNumberish ], [ bigint ], "view">; getBaseToFillWithRemaining: TypedContractMethod<[ targetPrice: BigNumberish ], [ [bigint, boolean] & { baseAmount: bigint; remaining: boolean; } ], "view">; getBaseValue: TypedContractMethod<[ dirOfQuote: BigNumberish, quoteAmount: BigNumberish ], [ [bigint, bigint] & { baseAmount: bigint; remainingQuote: bigint; } ], "view">; getBounds: TypedContractMethod<[], [[bigint, bigint]], "view">; getFeeGrowth: TypedContractMethod<[], [bigint], "view">; getIndexPrice: TypedContractMethod<[], [bigint], "view">; getLowerBound: TypedContractMethod<[], [bigint], "view">; getMakerFundingPayment: TypedContractMethod<[ maker: AddressLike ], [ bigint ], "view">; getMakerImpermanentPosition: TypedContractMethod<[ maker: AddressLike ], [ [bigint, bigint] & { size: bigint; openNotional: bigint; } ], "view">; getMakerPosition: TypedContractMethod<[ maker: AddressLike ], [ MakerPositionStructOutput ], "view">; getMarkPrice: TypedContractMethod<[], [bigint], "view">; getMarkPriceAfterClose: TypedContractMethod<[ dirOfBase: BigNumberish, baseAmount: BigNumberish ], [ bigint ], "view">; getMarkPriceAfterOpen: TypedContractMethod<[ dirOfQuote: BigNumberish, quoteAmount: BigNumberish ], [ bigint ], "view">; getMaxBaseToFill: TypedContractMethod<[ dirOfBase: BigNumberish ], [ bigint ], "view">; getMaxQuoteToFill: TypedContractMethod<[ dirOfQuote: BigNumberish ], [ bigint ], "view">; getPendingMakerFeeAndFundingPayment: TypedContractMethod<[ maker: AddressLike ], [ [bigint, bigint] & { fee: bigint; fundingPayment: bigint; } ], "view">; getPendingMakerFees: TypedContractMethod<[ maker: AddressLike ], [ bigint ], "view">; getQuoteToFill: TypedContractMethod<[ targetPrice: BigNumberish ], [ bigint ], "view">; getQuoteToFillWithRemaining: TypedContractMethod<[ targetPrice: BigNumberish ], [ [bigint, boolean] & { quoteAmount: bigint; remaining: boolean; } ], "view">; getQuoteValue: TypedContractMethod<[ dirOfBase: BigNumberish, baseAmount: BigNumberish ], [ [bigint, bigint] & { quoteAmount: bigint; remainingBase: bigint; } ], "view">; getRealReserves: TypedContractMethod<[ ], [ [bigint, bigint] & { quoteReserve: bigint; baseReserve: bigint; } ], "view">; getReserves: TypedContractMethod<[ ], [ [bigint, bigint] & { quoteReserve: bigint; baseReserve: bigint; } ], "view">; getReservesAndK: TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { quoteReserve: bigint; baseReserve: bigint; _k: bigint; } ], "view">; getReservesKAndMaxPrice: TypedContractMethod<[ buy: boolean ], [ [ bigint, bigint, bigint, bigint ] & { quoteReserve: bigint; baseReserve: bigint; _k: bigint; maxPrice: bigint; } ], "view">; getShareValue: TypedContractMethod<[ shares: BigNumberish ], [ [bigint, bigint] & { quote: bigint; base: bigint; } ], "view">; getSqrtBounds: TypedContractMethod<[], [[bigint, bigint]], "view">; getTotalSupply: TypedContractMethod<[], [bigint], "view">; getUpperBound: TypedContractMethod<[], [bigint], "view">; priceFeed: TypedContractMethod<[], [string], "view">; removeLiquidity: TypedContractMethod<[ maker: AddressLike, shares: BigNumberish, liquidation: boolean ], [ [ bigint, bigint, boolean ] & { size: bigint; openNotional: bigint; fullRemoval: boolean; } ], "nonpayable">; router: TypedContractMethod<[], [string], "view">; setBounds: TypedContractMethod<[ upper: BigNumberish, lower: BigNumberish ], [ void ], "nonpayable">; settleMakerFundingAndFees: TypedContractMethod<[ maker: AddressLike ], [ [bigint, bigint] & { feeReceived: bigint; fundingPayment: bigint; } ], "nonpayable">; swapClose: TypedContractMethod<[ dirOfBase: BigNumberish, baseAmount: BigNumberish ], [ [ bigint, bigint, bigint ] & { mark: bigint; remainingBase: bigint; quoteAmount: bigint; } ], "nonpayable">; swapOpen: TypedContractMethod<[ dirOfQuote: BigNumberish, quoteAmount: BigNumberish ], [ [ bigint, bigint, bigint ] & { mark: bigint; remainingQuote: bigint; baseAmount: bigint; } ], "nonpayable">; updatePremiumFractionPerShare: TypedContractMethod<[ premiumFraction: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addLiquidity"): TypedContractMethod<[ maker: AddressLike, notional: BigNumberish ], [ [ bigint, bigint, bigint ] & { shares: bigint; quoteAmount: bigint; baseAmount: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "clearingHouse"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getBaseToFill"): TypedContractMethod<[targetPrice: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getBaseToFillWithRemaining"): TypedContractMethod<[ targetPrice: BigNumberish ], [ [bigint, boolean] & { baseAmount: bigint; remaining: boolean; } ], "view">; getFunction(nameOrSignature: "getBaseValue"): TypedContractMethod<[ dirOfQuote: BigNumberish, quoteAmount: BigNumberish ], [ [bigint, bigint] & { baseAmount: bigint; remainingQuote: bigint; } ], "view">; getFunction(nameOrSignature: "getBounds"): TypedContractMethod<[], [[bigint, bigint]], "view">; getFunction(nameOrSignature: "getFeeGrowth"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getIndexPrice"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getLowerBound"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getMakerFundingPayment"): TypedContractMethod<[maker: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getMakerImpermanentPosition"): TypedContractMethod<[ maker: AddressLike ], [ [bigint, bigint] & { size: bigint; openNotional: bigint; } ], "view">; getFunction(nameOrSignature: "getMakerPosition"): TypedContractMethod<[ maker: AddressLike ], [ MakerPositionStructOutput ], "view">; getFunction(nameOrSignature: "getMarkPrice"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getMarkPriceAfterClose"): TypedContractMethod<[ dirOfBase: BigNumberish, baseAmount: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getMarkPriceAfterOpen"): TypedContractMethod<[ dirOfQuote: BigNumberish, quoteAmount: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getMaxBaseToFill"): TypedContractMethod<[dirOfBase: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getMaxQuoteToFill"): TypedContractMethod<[dirOfQuote: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getPendingMakerFeeAndFundingPayment"): TypedContractMethod<[ maker: AddressLike ], [ [bigint, bigint] & { fee: bigint; fundingPayment: bigint; } ], "view">; getFunction(nameOrSignature: "getPendingMakerFees"): TypedContractMethod<[maker: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getQuoteToFill"): TypedContractMethod<[targetPrice: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getQuoteToFillWithRemaining"): TypedContractMethod<[ targetPrice: BigNumberish ], [ [bigint, boolean] & { quoteAmount: bigint; remaining: boolean; } ], "view">; getFunction(nameOrSignature: "getQuoteValue"): TypedContractMethod<[ dirOfBase: BigNumberish, baseAmount: BigNumberish ], [ [bigint, bigint] & { quoteAmount: bigint; remainingBase: bigint; } ], "view">; getFunction(nameOrSignature: "getRealReserves"): TypedContractMethod<[ ], [ [bigint, bigint] & { quoteReserve: bigint; baseReserve: bigint; } ], "view">; getFunction(nameOrSignature: "getReserves"): TypedContractMethod<[ ], [ [bigint, bigint] & { quoteReserve: bigint; baseReserve: bigint; } ], "view">; getFunction(nameOrSignature: "getReservesAndK"): TypedContractMethod<[ ], [ [ bigint, bigint, bigint ] & { quoteReserve: bigint; baseReserve: bigint; _k: bigint; } ], "view">; getFunction(nameOrSignature: "getReservesKAndMaxPrice"): TypedContractMethod<[ buy: boolean ], [ [ bigint, bigint, bigint, bigint ] & { quoteReserve: bigint; baseReserve: bigint; _k: bigint; maxPrice: bigint; } ], "view">; getFunction(nameOrSignature: "getShareValue"): TypedContractMethod<[ shares: BigNumberish ], [ [bigint, bigint] & { quote: bigint; base: bigint; } ], "view">; getFunction(nameOrSignature: "getSqrtBounds"): TypedContractMethod<[], [[bigint, bigint]], "view">; getFunction(nameOrSignature: "getTotalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getUpperBound"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "priceFeed"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "removeLiquidity"): TypedContractMethod<[ maker: AddressLike, shares: BigNumberish, liquidation: boolean ], [ [ bigint, bigint, boolean ] & { size: bigint; openNotional: bigint; fullRemoval: boolean; } ], "nonpayable">; getFunction(nameOrSignature: "router"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "setBounds"): TypedContractMethod<[ upper: BigNumberish, lower: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "settleMakerFundingAndFees"): TypedContractMethod<[ maker: AddressLike ], [ [bigint, bigint] & { feeReceived: bigint; fundingPayment: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "swapClose"): TypedContractMethod<[ dirOfBase: BigNumberish, baseAmount: BigNumberish ], [ [ bigint, bigint, bigint ] & { mark: bigint; remainingBase: bigint; quoteAmount: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "swapOpen"): TypedContractMethod<[ dirOfQuote: BigNumberish, quoteAmount: BigNumberish ], [ [ bigint, bigint, bigint ] & { mark: bigint; remainingQuote: bigint; baseAmount: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "updatePremiumFractionPerShare"): TypedContractMethod<[premiumFraction: BigNumberish], [void], "nonpayable">; getEvent(key: "CapChanged"): TypedContractEvent; getEvent(key: "FundingPeriodChanged"): TypedContractEvent; getEvent(key: "FundingRateUpdated"): TypedContractEvent; getEvent(key: "Initialized"): TypedContractEvent; getEvent(key: "MakerPositionChanged"): TypedContractEvent; getEvent(key: "NewPriceSnapshot"): TypedContractEvent; getEvent(key: "ReservesUpdated"): TypedContractEvent; getEvent(key: "SwapClose"): TypedContractEvent; getEvent(key: "SwapOpen"): TypedContractEvent; getEvent(key: "TickSpacingChanged"): TypedContractEvent; getEvent(key: "TradeLimitRatioChanged"): TypedContractEvent; filters: { "CapChanged(uint256,uint256)": TypedContractEvent; CapChanged: TypedContractEvent; "FundingPeriodChanged(uint256)": TypedContractEvent; FundingPeriodChanged: TypedContractEvent; "FundingRateUpdated(int256,uint256)": TypedContractEvent; FundingRateUpdated: TypedContractEvent; "Initialized(uint8)": TypedContractEvent; Initialized: TypedContractEvent; "MakerPositionChanged(address,int256,uint256,uint256,int256)": TypedContractEvent; MakerPositionChanged: TypedContractEvent; "NewPriceSnapshot(uint256,uint256)": TypedContractEvent; NewPriceSnapshot: TypedContractEvent; "ReservesUpdated(uint256,uint256)": TypedContractEvent; ReservesUpdated: TypedContractEvent; "SwapClose(uint8,uint256,uint256)": TypedContractEvent; SwapClose: TypedContractEvent; "SwapOpen(uint8,uint256,uint256)": TypedContractEvent; SwapOpen: TypedContractEvent; "TickSpacingChanged(uint256)": TypedContractEvent; TickSpacingChanged: TypedContractEvent; "TradeLimitRatioChanged(uint256)": TypedContractEvent; TradeLimitRatioChanged: TypedContractEvent; }; }