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 SwapDataStruct = { swapType: BigNumberish; extRouter: AddressLike; extCalldata: BytesLike; needScale: boolean; }; export type SwapDataStructOutput = [ swapType: bigint, extRouter: string, extCalldata: string, needScale: boolean ] & { swapType: bigint; extRouter: string; extCalldata: string; needScale: boolean; }; export type TokenInputStruct = { tokenIn: AddressLike; netTokenIn: BigNumberish; tokenMintSy: AddressLike; pendleSwap: AddressLike; swapData: SwapDataStruct; }; export type TokenInputStructOutput = [ tokenIn: string, netTokenIn: bigint, tokenMintSy: string, pendleSwap: string, swapData: SwapDataStructOutput ] & { tokenIn: string; netTokenIn: bigint; tokenMintSy: string; pendleSwap: string; swapData: SwapDataStructOutput; }; export type ApproxParamsStruct = { guessMin: BigNumberish; guessMax: BigNumberish; guessOffchain: BigNumberish; maxIteration: BigNumberish; eps: BigNumberish; }; export type ApproxParamsStructOutput = [ guessMin: bigint, guessMax: bigint, guessOffchain: bigint, maxIteration: bigint, eps: bigint ] & { guessMin: bigint; guessMax: bigint; guessOffchain: bigint; maxIteration: bigint; eps: bigint; }; export type OrderStruct = { salt: BigNumberish; expiry: BigNumberish; nonce: BigNumberish; orderType: BigNumberish; token: AddressLike; YT: AddressLike; maker: AddressLike; receiver: AddressLike; makingAmount: BigNumberish; lnImpliedRate: BigNumberish; failSafeRate: BigNumberish; permit: BytesLike; }; export type OrderStructOutput = [ salt: bigint, expiry: bigint, nonce: bigint, orderType: bigint, token: string, YT: string, maker: string, receiver: string, makingAmount: bigint, lnImpliedRate: bigint, failSafeRate: bigint, permit: string ] & { salt: bigint; expiry: bigint; nonce: bigint; orderType: bigint; token: string; YT: string; maker: string; receiver: string; makingAmount: bigint; lnImpliedRate: bigint; failSafeRate: bigint; permit: string; }; export type FillOrderParamsStruct = { order: OrderStruct; signature: BytesLike; makingAmount: BigNumberish; }; export type FillOrderParamsStructOutput = [ order: OrderStructOutput, signature: string, makingAmount: bigint ] & { order: OrderStructOutput; signature: string; makingAmount: bigint; }; export type LimitOrderDataStruct = { limitRouter: AddressLike; epsSkipMarket: BigNumberish; normalFills: FillOrderParamsStruct[]; flashFills: FillOrderParamsStruct[]; optData: BytesLike; }; export type LimitOrderDataStructOutput = [ limitRouter: string, epsSkipMarket: bigint, normalFills: FillOrderParamsStructOutput[], flashFills: FillOrderParamsStructOutput[], optData: string ] & { limitRouter: string; epsSkipMarket: bigint; normalFills: FillOrderParamsStructOutput[]; flashFills: FillOrderParamsStructOutput[]; optData: string; }; export type TokenOutputStruct = { tokenOut: AddressLike; minTokenOut: BigNumberish; tokenRedeemSy: AddressLike; pendleSwap: AddressLike; swapData: SwapDataStruct; }; export type TokenOutputStructOutput = [ tokenOut: string, minTokenOut: bigint, tokenRedeemSy: string, pendleSwap: string, swapData: SwapDataStructOutput ] & { tokenOut: string; minTokenOut: bigint; tokenRedeemSy: string; pendleSwap: string; swapData: SwapDataStructOutput; }; export interface ActionAddRemoveLiqV3Interface extends Interface { getFunction(nameOrSignature: "addLiquidityDualSyAndPt" | "addLiquidityDualTokenAndPt" | "addLiquiditySinglePt" | "addLiquiditySingleSy" | "addLiquiditySingleSyKeepYt" | "addLiquiditySingleToken" | "addLiquiditySingleTokenKeepYt" | "removeLiquidityDualSyAndPt" | "removeLiquidityDualTokenAndPt" | "removeLiquiditySinglePt" | "removeLiquiditySingleSy" | "removeLiquiditySingleToken"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AddLiquidityDualSyAndPt" | "AddLiquidityDualTokenAndPt" | "AddLiquiditySinglePt" | "AddLiquiditySingleSy" | "AddLiquiditySingleSyKeepYt" | "AddLiquiditySingleToken" | "AddLiquiditySingleTokenKeepYt" | "RemoveLiquidityDualSyAndPt" | "RemoveLiquidityDualTokenAndPt" | "RemoveLiquiditySinglePt" | "RemoveLiquiditySingleSy" | "RemoveLiquiditySingleToken"): EventFragment; encodeFunctionData(functionFragment: "addLiquidityDualSyAndPt", values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "addLiquidityDualTokenAndPt", values: [ AddressLike, AddressLike, TokenInputStruct, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "addLiquiditySinglePt", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, ApproxParamsStruct, LimitOrderDataStruct ]): string; encodeFunctionData(functionFragment: "addLiquiditySingleSy", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, ApproxParamsStruct, LimitOrderDataStruct ]): string; encodeFunctionData(functionFragment: "addLiquiditySingleSyKeepYt", values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "addLiquiditySingleToken", values: [ AddressLike, AddressLike, BigNumberish, ApproxParamsStruct, TokenInputStruct, LimitOrderDataStruct ]): string; encodeFunctionData(functionFragment: "addLiquiditySingleTokenKeepYt", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, TokenInputStruct ]): string; encodeFunctionData(functionFragment: "removeLiquidityDualSyAndPt", values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "removeLiquidityDualTokenAndPt", values: [ AddressLike, AddressLike, BigNumberish, TokenOutputStruct, BigNumberish ]): string; encodeFunctionData(functionFragment: "removeLiquiditySinglePt", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, ApproxParamsStruct, LimitOrderDataStruct ]): string; encodeFunctionData(functionFragment: "removeLiquiditySingleSy", values: [ AddressLike, AddressLike, BigNumberish, BigNumberish, LimitOrderDataStruct ]): string; encodeFunctionData(functionFragment: "removeLiquiditySingleToken", values: [ AddressLike, AddressLike, BigNumberish, TokenOutputStruct, LimitOrderDataStruct ]): string; decodeFunctionResult(functionFragment: "addLiquidityDualSyAndPt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addLiquidityDualTokenAndPt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addLiquiditySinglePt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addLiquiditySingleSy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addLiquiditySingleSyKeepYt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addLiquiditySingleToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addLiquiditySingleTokenKeepYt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquidityDualSyAndPt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquidityDualTokenAndPt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquiditySinglePt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquiditySingleSy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeLiquiditySingleToken", data: BytesLike): Result; } export declare namespace AddLiquidityDualSyAndPtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netSyUsed: BigNumberish, netPtUsed: BigNumberish, netLpOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netSyUsed: bigint, netPtUsed: bigint, netLpOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netSyUsed: bigint; netPtUsed: bigint; netLpOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AddLiquidityDualTokenAndPtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, tokenIn: AddressLike, receiver: AddressLike, netTokenUsed: BigNumberish, netPtUsed: BigNumberish, netLpOut: BigNumberish, netSyInterm: BigNumberish ]; type OutputTuple = [ caller: string, market: string, tokenIn: string, receiver: string, netTokenUsed: bigint, netPtUsed: bigint, netLpOut: bigint, netSyInterm: bigint ]; interface OutputObject { caller: string; market: string; tokenIn: string; receiver: string; netTokenUsed: bigint; netPtUsed: bigint; netLpOut: bigint; netSyInterm: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AddLiquiditySinglePtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netPtIn: BigNumberish, netLpOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netPtIn: bigint, netLpOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netPtIn: bigint; netLpOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AddLiquiditySingleSyEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netSyIn: BigNumberish, netLpOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netSyIn: bigint, netLpOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netSyIn: bigint; netLpOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AddLiquiditySingleSyKeepYtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netSyIn: BigNumberish, netSyMintPy: BigNumberish, netLpOut: BigNumberish, netYtOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netSyIn: bigint, netSyMintPy: bigint, netLpOut: bigint, netYtOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netSyIn: bigint; netSyMintPy: bigint; netLpOut: bigint; netYtOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AddLiquiditySingleTokenEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, token: AddressLike, receiver: AddressLike, netTokenIn: BigNumberish, netLpOut: BigNumberish, netSyInterm: BigNumberish ]; type OutputTuple = [ caller: string, market: string, token: string, receiver: string, netTokenIn: bigint, netLpOut: bigint, netSyInterm: bigint ]; interface OutputObject { caller: string; market: string; token: string; receiver: string; netTokenIn: bigint; netLpOut: bigint; netSyInterm: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AddLiquiditySingleTokenKeepYtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, token: AddressLike, receiver: AddressLike, netTokenIn: BigNumberish, netLpOut: BigNumberish, netYtOut: BigNumberish, netSyMintPy: BigNumberish, netSyInterm: BigNumberish ]; type OutputTuple = [ caller: string, market: string, token: string, receiver: string, netTokenIn: bigint, netLpOut: bigint, netYtOut: bigint, netSyMintPy: bigint, netSyInterm: bigint ]; interface OutputObject { caller: string; market: string; token: string; receiver: string; netTokenIn: bigint; netLpOut: bigint; netYtOut: bigint; netSyMintPy: bigint; netSyInterm: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquidityDualSyAndPtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netLpToRemove: BigNumberish, netPtOut: BigNumberish, netSyOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netLpToRemove: bigint, netPtOut: bigint, netSyOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netLpToRemove: bigint; netPtOut: bigint; netSyOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquidityDualTokenAndPtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, tokenOut: AddressLike, receiver: AddressLike, netLpToRemove: BigNumberish, netPtOut: BigNumberish, netTokenOut: BigNumberish, netSyInterm: BigNumberish ]; type OutputTuple = [ caller: string, market: string, tokenOut: string, receiver: string, netLpToRemove: bigint, netPtOut: bigint, netTokenOut: bigint, netSyInterm: bigint ]; interface OutputObject { caller: string; market: string; tokenOut: string; receiver: string; netLpToRemove: bigint; netPtOut: bigint; netTokenOut: bigint; netSyInterm: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquiditySinglePtEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netLpToRemove: BigNumberish, netPtOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netLpToRemove: bigint, netPtOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netLpToRemove: bigint; netPtOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquiditySingleSyEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, receiver: AddressLike, netLpToRemove: BigNumberish, netSyOut: BigNumberish ]; type OutputTuple = [ caller: string, market: string, receiver: string, netLpToRemove: bigint, netSyOut: bigint ]; interface OutputObject { caller: string; market: string; receiver: string; netLpToRemove: bigint; netSyOut: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RemoveLiquiditySingleTokenEvent { type InputTuple = [ caller: AddressLike, market: AddressLike, token: AddressLike, receiver: AddressLike, netLpToRemove: BigNumberish, netTokenOut: BigNumberish, netSyInterm: BigNumberish ]; type OutputTuple = [ caller: string, market: string, token: string, receiver: string, netLpToRemove: bigint, netTokenOut: bigint, netSyInterm: bigint ]; interface OutputObject { caller: string; market: string; token: string; receiver: string; netLpToRemove: bigint; netTokenOut: bigint; netSyInterm: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ActionAddRemoveLiqV3 extends BaseContract { connect(runner?: ContractRunner | null): ActionAddRemoveLiqV3; waitForDeployment(): Promise; interface: ActionAddRemoveLiqV3Interface; 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; addLiquidityDualSyAndPt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netSyDesired: BigNumberish, netPtDesired: BigNumberish, minLpOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netSyUsed: bigint; netPtUsed: bigint; } ], "nonpayable">; addLiquidityDualTokenAndPt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, input: TokenInputStruct, netPtDesired: BigNumberish, minLpOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netPtUsed: bigint; netSyInterm: bigint; } ], "payable">; addLiquiditySinglePt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netPtIn: BigNumberish, minLpOut: BigNumberish, guessPtSwapToSy: ApproxParamsStruct, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netLpOut: bigint; netSyFee: bigint; } ], "nonpayable">; addLiquiditySingleSy: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netSyIn: BigNumberish, minLpOut: BigNumberish, guessPtReceivedFromSy: ApproxParamsStruct, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netLpOut: bigint; netSyFee: bigint; } ], "nonpayable">; addLiquiditySingleSyKeepYt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netSyIn: BigNumberish, minLpOut: BigNumberish, minYtOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netYtOut: bigint; netSyMintPy: bigint; } ], "nonpayable">; addLiquiditySingleToken: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, minLpOut: BigNumberish, guessPtReceivedFromSy: ApproxParamsStruct, input: TokenInputStruct, limit: LimitOrderDataStruct ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netSyFee: bigint; netSyInterm: bigint; } ], "payable">; addLiquiditySingleTokenKeepYt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, minLpOut: BigNumberish, minYtOut: BigNumberish, input: TokenInputStruct ], [ [ bigint, bigint, bigint, bigint ] & { netLpOut: bigint; netYtOut: bigint; netSyMintPy: bigint; netSyInterm: bigint; } ], "payable">; removeLiquidityDualSyAndPt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, minSyOut: BigNumberish, minPtOut: BigNumberish ], [ [bigint, bigint] & { netSyOut: bigint; netPtOut: bigint; } ], "nonpayable">; removeLiquidityDualTokenAndPt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, output: TokenOutputStruct, minPtOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netTokenOut: bigint; netPtOut: bigint; netSyInterm: bigint; } ], "nonpayable">; removeLiquiditySinglePt: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, minPtOut: BigNumberish, guessPtReceivedFromSy: ApproxParamsStruct, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netPtOut: bigint; netSyFee: bigint; } ], "nonpayable">; removeLiquiditySingleSy: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, minSyOut: BigNumberish, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netSyOut: bigint; netSyFee: bigint; } ], "nonpayable">; removeLiquiditySingleToken: TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, output: TokenOutputStruct, limit: LimitOrderDataStruct ], [ [ bigint, bigint, bigint ] & { netTokenOut: bigint; netSyFee: bigint; netSyInterm: bigint; } ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addLiquidityDualSyAndPt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netSyDesired: BigNumberish, netPtDesired: BigNumberish, minLpOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netSyUsed: bigint; netPtUsed: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "addLiquidityDualTokenAndPt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, input: TokenInputStruct, netPtDesired: BigNumberish, minLpOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netPtUsed: bigint; netSyInterm: bigint; } ], "payable">; getFunction(nameOrSignature: "addLiquiditySinglePt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netPtIn: BigNumberish, minLpOut: BigNumberish, guessPtSwapToSy: ApproxParamsStruct, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netLpOut: bigint; netSyFee: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "addLiquiditySingleSy"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netSyIn: BigNumberish, minLpOut: BigNumberish, guessPtReceivedFromSy: ApproxParamsStruct, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netLpOut: bigint; netSyFee: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "addLiquiditySingleSyKeepYt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netSyIn: BigNumberish, minLpOut: BigNumberish, minYtOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netYtOut: bigint; netSyMintPy: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "addLiquiditySingleToken"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, minLpOut: BigNumberish, guessPtReceivedFromSy: ApproxParamsStruct, input: TokenInputStruct, limit: LimitOrderDataStruct ], [ [ bigint, bigint, bigint ] & { netLpOut: bigint; netSyFee: bigint; netSyInterm: bigint; } ], "payable">; getFunction(nameOrSignature: "addLiquiditySingleTokenKeepYt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, minLpOut: BigNumberish, minYtOut: BigNumberish, input: TokenInputStruct ], [ [ bigint, bigint, bigint, bigint ] & { netLpOut: bigint; netYtOut: bigint; netSyMintPy: bigint; netSyInterm: bigint; } ], "payable">; getFunction(nameOrSignature: "removeLiquidityDualSyAndPt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, minSyOut: BigNumberish, minPtOut: BigNumberish ], [ [bigint, bigint] & { netSyOut: bigint; netPtOut: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "removeLiquidityDualTokenAndPt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, output: TokenOutputStruct, minPtOut: BigNumberish ], [ [ bigint, bigint, bigint ] & { netTokenOut: bigint; netPtOut: bigint; netSyInterm: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "removeLiquiditySinglePt"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, minPtOut: BigNumberish, guessPtReceivedFromSy: ApproxParamsStruct, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netPtOut: bigint; netSyFee: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "removeLiquiditySingleSy"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, minSyOut: BigNumberish, limit: LimitOrderDataStruct ], [ [bigint, bigint] & { netSyOut: bigint; netSyFee: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "removeLiquiditySingleToken"): TypedContractMethod<[ receiver: AddressLike, market: AddressLike, netLpToRemove: BigNumberish, output: TokenOutputStruct, limit: LimitOrderDataStruct ], [ [ bigint, bigint, bigint ] & { netTokenOut: bigint; netSyFee: bigint; netSyInterm: bigint; } ], "nonpayable">; getEvent(key: "AddLiquidityDualSyAndPt"): TypedContractEvent; getEvent(key: "AddLiquidityDualTokenAndPt"): TypedContractEvent; getEvent(key: "AddLiquiditySinglePt"): TypedContractEvent; getEvent(key: "AddLiquiditySingleSy"): TypedContractEvent; getEvent(key: "AddLiquiditySingleSyKeepYt"): TypedContractEvent; getEvent(key: "AddLiquiditySingleToken"): TypedContractEvent; getEvent(key: "AddLiquiditySingleTokenKeepYt"): TypedContractEvent; getEvent(key: "RemoveLiquidityDualSyAndPt"): TypedContractEvent; getEvent(key: "RemoveLiquidityDualTokenAndPt"): TypedContractEvent; getEvent(key: "RemoveLiquiditySinglePt"): TypedContractEvent; getEvent(key: "RemoveLiquiditySingleSy"): TypedContractEvent; getEvent(key: "RemoveLiquiditySingleToken"): TypedContractEvent; filters: { "AddLiquidityDualSyAndPt(address,address,address,uint256,uint256,uint256)": TypedContractEvent; AddLiquidityDualSyAndPt: TypedContractEvent; "AddLiquidityDualTokenAndPt(address,address,address,address,uint256,uint256,uint256,uint256)": TypedContractEvent; AddLiquidityDualTokenAndPt: TypedContractEvent; "AddLiquiditySinglePt(address,address,address,uint256,uint256)": TypedContractEvent; AddLiquiditySinglePt: TypedContractEvent; "AddLiquiditySingleSy(address,address,address,uint256,uint256)": TypedContractEvent; AddLiquiditySingleSy: TypedContractEvent; "AddLiquiditySingleSyKeepYt(address,address,address,uint256,uint256,uint256,uint256)": TypedContractEvent; AddLiquiditySingleSyKeepYt: TypedContractEvent; "AddLiquiditySingleToken(address,address,address,address,uint256,uint256,uint256)": TypedContractEvent; AddLiquiditySingleToken: TypedContractEvent; "AddLiquiditySingleTokenKeepYt(address,address,address,address,uint256,uint256,uint256,uint256,uint256)": TypedContractEvent; AddLiquiditySingleTokenKeepYt: TypedContractEvent; "RemoveLiquidityDualSyAndPt(address,address,address,uint256,uint256,uint256)": TypedContractEvent; RemoveLiquidityDualSyAndPt: TypedContractEvent; "RemoveLiquidityDualTokenAndPt(address,address,address,address,uint256,uint256,uint256,uint256)": TypedContractEvent; RemoveLiquidityDualTokenAndPt: TypedContractEvent; "RemoveLiquiditySinglePt(address,address,address,uint256,uint256)": TypedContractEvent; RemoveLiquiditySinglePt: TypedContractEvent; "RemoveLiquiditySingleSy(address,address,address,uint256,uint256)": TypedContractEvent; RemoveLiquiditySingleSy: TypedContractEvent; "RemoveLiquiditySingleToken(address,address,address,address,uint256,uint256,uint256)": TypedContractEvent; RemoveLiquiditySingleToken: TypedContractEvent; }; }