/// import type BN from "bn.js"; import type { ContractOptions } from "web3-eth-contract"; import type { EventLog } from "web3-core"; import type { EventEmitter } from "events"; import type { Callback, NonPayableTransactionObject, BlockType, BaseContract } from "./types"; export interface EventOptions { filter?: object; fromBlock?: BlockType; topics?: string[]; } export interface IGmxRouter extends BaseContract { constructor(jsonInterface: any[], address?: string, options?: ContractOptions): IGmxRouter; clone(): IGmxRouter; methods: { approvePlugin(_plugin: string): NonPayableTransactionObject; approvedPlugins(_msgsender: string, _plugin: string): NonPayableTransactionObject; pluginDecreasePosition(_account: string, _collateralToken: string, _indexToken: string, _collateralDelta: number | string | BN, _sizeDelta: number | string | BN, _isLong: boolean, _receiver: string): NonPayableTransactionObject; pluginIncreasePosition(_account: string, _collateralToken: string, _indexToken: string, _sizeDelta: number | string | BN, _isLong: boolean): NonPayableTransactionObject; pluginTransfer(_token: string, _account: string, _receiver: string, _amount: number | string | BN): NonPayableTransactionObject; swap(_path: string[], _amountIn: number | string | BN, _minOut: number | string | BN, _receiver: string): NonPayableTransactionObject; }; events: { allEvents(options?: EventOptions, cb?: Callback): EventEmitter; }; }