/// import { PublicKey, Connection } from '@solana/web3.js'; import BN from 'bn.js'; import * as types from '../types'; export interface WhirlpoolFields { whirlpoolsConfig: PublicKey; whirlpoolBump: Array; tickSpacing: number; tickSpacingSeed: Array; feeRate: number; protocolFeeRate: number; liquidity: BN; sqrtPrice: BN; tickCurrentIndex: number; protocolFeeOwedA: BN; protocolFeeOwedB: BN; tokenMintA: PublicKey; tokenVaultA: PublicKey; feeGrowthGlobalA: BN; tokenMintB: PublicKey; tokenVaultB: PublicKey; feeGrowthGlobalB: BN; rewardLastUpdatedTimestamp: BN; rewardInfos: Array; } export interface WhirlpoolJSON { whirlpoolsConfig: string; whirlpoolBump: Array; tickSpacing: number; tickSpacingSeed: Array; feeRate: number; protocolFeeRate: number; liquidity: string; sqrtPrice: string; tickCurrentIndex: number; protocolFeeOwedA: string; protocolFeeOwedB: string; tokenMintA: string; tokenVaultA: string; feeGrowthGlobalA: string; tokenMintB: string; tokenVaultB: string; feeGrowthGlobalB: string; rewardLastUpdatedTimestamp: string; rewardInfos: Array; } export declare class Whirlpool { readonly whirlpoolsConfig: PublicKey; readonly whirlpoolBump: Array; readonly tickSpacing: number; readonly tickSpacingSeed: Array; readonly feeRate: number; readonly protocolFeeRate: number; readonly liquidity: BN; readonly sqrtPrice: BN; readonly tickCurrentIndex: number; readonly protocolFeeOwedA: BN; readonly protocolFeeOwedB: BN; readonly tokenMintA: PublicKey; readonly tokenVaultA: PublicKey; readonly feeGrowthGlobalA: BN; readonly tokenMintB: PublicKey; readonly tokenVaultB: PublicKey; readonly feeGrowthGlobalB: BN; readonly rewardLastUpdatedTimestamp: BN; readonly rewardInfos: Array; static readonly discriminator: Buffer; static readonly layout: any; constructor(fields: WhirlpoolFields); static fetch(c: Connection, address: PublicKey): Promise; static fetchMultiple(c: Connection, addresses: PublicKey[]): Promise>; static decode(data: Buffer): Whirlpool; toJSON(): WhirlpoolJSON; static fromJSON(obj: WhirlpoolJSON): Whirlpool; }