import { Transaction, TransactionResult } from '@mysten/sui/transactions'; import { Coin, Percent } from '../../../core'; import { Swap, SwapConstructorOptions } from '../Swap'; import { Protocol } from '../../constants'; import { SteammQuoterType } from '../../types'; export interface SteammProtocolConfig { wrappedRouterPackageId: string; oraclePackageId: string; oracleRegistryId: string; versionObjectId: string; } export interface SteammSwapOptions extends SwapConstructorOptions { xForY: boolean; bankX: string; bankY: string; bankXStructTag: string; bankYStructTag: string; lendingMarketX: string; lendingMarketY: string; poolStructTag: string; quoterType: SteammQuoterType; } export interface SteammPoolInfo { poolId: string; lpTokenType: string; } export interface SteammBankInfo { bankId: string; lendingMarketId: string; nativeCoinType: string; lendingMarketType: string; bTokenType: string; } export declare class SteammSwap extends Swap> { private _handlers; readonly xForY: boolean; readonly quoterType: SteammQuoterType; readonly bankXInfo: SteammBankInfo; readonly bankYInfo: SteammBankInfo; readonly poolInfo: SteammPoolInfo; constructor(options: SteammSwapOptions); protocol(): Protocol; private cpmmSwap; private getOraclePriceUpdate; private getOraclePriceUpdates; private ommSwap; private ommV2Swap; swap: (routeObject: TransactionResult, slippage: Percent, pythMap: Record) => (tx: Transaction) => void; }