import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare namespace Ix2y2 { type OrderItemStruct = { price: PromiseOrValue; data: PromiseOrValue; }; type OrderItemStructOutput = [BigNumber, string] & { price: BigNumber; data: string; }; type OrderStruct = { salt: PromiseOrValue; user: PromiseOrValue; network: PromiseOrValue; intent: PromiseOrValue; delegateType: PromiseOrValue; deadline: PromiseOrValue; currency: PromiseOrValue; dataMask: PromiseOrValue; items: Ix2y2.OrderItemStruct[]; r: PromiseOrValue; s: PromiseOrValue; v: PromiseOrValue; signVersion: PromiseOrValue; }; type OrderStructOutput = [ BigNumber, string, BigNumber, BigNumber, BigNumber, BigNumber, string, string, Ix2y2.OrderItemStructOutput[], string, string, number, number ] & { salt: BigNumber; user: string; network: BigNumber; intent: BigNumber; delegateType: BigNumber; deadline: BigNumber; currency: string; dataMask: string; items: Ix2y2.OrderItemStructOutput[]; r: string; s: string; v: number; signVersion: number; }; type FeeStruct = { percentage: PromiseOrValue; to: PromiseOrValue; }; type FeeStructOutput = [BigNumber, string] & { percentage: BigNumber; to: string; }; type SettleDetailStruct = { op: PromiseOrValue; orderIdx: PromiseOrValue; itemIdx: PromiseOrValue; price: PromiseOrValue; itemHash: PromiseOrValue; executionDelegate: PromiseOrValue; dataReplacement: PromiseOrValue; bidIncentivePct: PromiseOrValue; aucMinIncrementPct: PromiseOrValue; aucIncDurationSecs: PromiseOrValue; fees: Ix2y2.FeeStruct[]; }; type SettleDetailStructOutput = [ number, BigNumber, BigNumber, BigNumber, string, string, string, BigNumber, BigNumber, BigNumber, Ix2y2.FeeStructOutput[] ] & { op: number; orderIdx: BigNumber; itemIdx: BigNumber; price: BigNumber; itemHash: string; executionDelegate: string; dataReplacement: string; bidIncentivePct: BigNumber; aucMinIncrementPct: BigNumber; aucIncDurationSecs: BigNumber; fees: Ix2y2.FeeStructOutput[]; }; type SettleSharedStruct = { salt: PromiseOrValue; deadline: PromiseOrValue; amountToEth: PromiseOrValue; amountToWeth: PromiseOrValue; user: PromiseOrValue; canFail: PromiseOrValue; }; type SettleSharedStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, string, boolean ] & { salt: BigNumber; deadline: BigNumber; amountToEth: BigNumber; amountToWeth: BigNumber; user: string; canFail: boolean; }; type RunInputStruct = { orders: Ix2y2.OrderStruct[]; details: Ix2y2.SettleDetailStruct[]; shared: Ix2y2.SettleSharedStruct; r: PromiseOrValue; s: PromiseOrValue; v: PromiseOrValue; }; type RunInputStructOutput = [ Ix2y2.OrderStructOutput[], Ix2y2.SettleDetailStructOutput[], Ix2y2.SettleSharedStructOutput, string, string, number ] & { orders: Ix2y2.OrderStructOutput[]; details: Ix2y2.SettleDetailStructOutput[]; shared: Ix2y2.SettleSharedStructOutput; r: string; s: string; v: number; }; } export interface Ix2y2Interface extends utils.Interface { functions: { "run(((uint256,address,uint256,uint256,uint256,uint256,address,bytes,(uint256,bytes)[],bytes32,bytes32,uint8,uint8)[],(uint8,uint256,uint256,uint256,bytes32,address,bytes,uint256,uint256,uint256,(uint256,address)[])[],(uint256,uint256,uint256,uint256,address,bool),bytes32,bytes32,uint8))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "run"): FunctionFragment; encodeFunctionData(functionFragment: "run", values: [Ix2y2.RunInputStruct]): string; decodeFunctionResult(functionFragment: "run", data: BytesLike): Result; events: {}; } export interface Ix2y2 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: Ix2y2Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { run(input: Ix2y2.RunInputStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; }; run(input: Ix2y2.RunInputStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; callStatic: { run(input: Ix2y2.RunInputStruct, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { run(input: Ix2y2.RunInputStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { run(input: Ix2y2.RunInputStruct, overrides?: PayableOverrides & { from?: PromiseOrValue; }): Promise; }; }