///
import { PublicKey, Connection } from '@solana/web3.js';
import BN from 'bn.js';
export interface ProtocolPositionStateFields {
/** Bump to identify PDA */
bump: number;
/** The ID of the pool with which this token is connected */
poolId: PublicKey;
/** The lower bound tick of the position */
tickLowerIndex: number;
/** The upper bound tick of the position */
tickUpperIndex: number;
/** The amount of liquidity owned by this position */
liquidity: BN;
/** The token_0 fee growth per unit of liquidity as of the last update to liquidity or fees owed */
feeGrowthInside0LastX64: BN;
/** The token_1 fee growth per unit of liquidity as of the last update to liquidity or fees owed */
feeGrowthInside1LastX64: BN;
/** The fees owed to the position owner in token_0 */
tokenFeesOwed0: BN;
/** The fees owed to the position owner in token_1 */
tokenFeesOwed1: BN;
/** The reward growth per unit of liquidity as of the last update to liquidity */
rewardGrowthInside: Array;
padding: Array;
}
export interface ProtocolPositionStateJSON {
/** Bump to identify PDA */
bump: number;
/** The ID of the pool with which this token is connected */
poolId: string;
/** The lower bound tick of the position */
tickLowerIndex: number;
/** The upper bound tick of the position */
tickUpperIndex: number;
/** The amount of liquidity owned by this position */
liquidity: string;
/** The token_0 fee growth per unit of liquidity as of the last update to liquidity or fees owed */
feeGrowthInside0LastX64: string;
/** The token_1 fee growth per unit of liquidity as of the last update to liquidity or fees owed */
feeGrowthInside1LastX64: string;
/** The fees owed to the position owner in token_0 */
tokenFeesOwed0: string;
/** The fees owed to the position owner in token_1 */
tokenFeesOwed1: string;
/** The reward growth per unit of liquidity as of the last update to liquidity */
rewardGrowthInside: Array;
padding: Array;
}
/** Info stored for each user's position */
export declare class ProtocolPositionState {
/** Bump to identify PDA */
readonly bump: number;
/** The ID of the pool with which this token is connected */
readonly poolId: PublicKey;
/** The lower bound tick of the position */
readonly tickLowerIndex: number;
/** The upper bound tick of the position */
readonly tickUpperIndex: number;
/** The amount of liquidity owned by this position */
readonly liquidity: BN;
/** The token_0 fee growth per unit of liquidity as of the last update to liquidity or fees owed */
readonly feeGrowthInside0LastX64: BN;
/** The token_1 fee growth per unit of liquidity as of the last update to liquidity or fees owed */
readonly feeGrowthInside1LastX64: BN;
/** The fees owed to the position owner in token_0 */
readonly tokenFeesOwed0: BN;
/** The fees owed to the position owner in token_1 */
readonly tokenFeesOwed1: BN;
/** The reward growth per unit of liquidity as of the last update to liquidity */
readonly rewardGrowthInside: Array;
readonly padding: Array;
static readonly discriminator: Buffer;
static readonly layout: any;
constructor(fields: ProtocolPositionStateFields);
static fetch(c: Connection, address: PublicKey): Promise;
static fetchMultiple(c: Connection, addresses: PublicKey[]): Promise>;
static decode(data: Buffer): ProtocolPositionState;
toJSON(): ProtocolPositionStateJSON;
static fromJSON(obj: ProtocolPositionStateJSON): ProtocolPositionState;
}