import { BN } from "@coral-xyz/anchor"; import { PublicKey } from "@solana/web3.js"; import { Decodable } from "./base"; export declare const EXPONENT_MARKET_TWO_DISCRIMINATOR: Buffer; export declare const EXPONENT_VAULT_DISCRIMINATOR: Buffer; export interface ExponentNumber { words: BN[]; } export interface ExponentMarketFinancials { expirationTs: BN; ptBalance: BN; syBalance: BN; lnFeeRateRoot: number; lastLnImpliedRate: number; rateScalarRoot: number; } export interface ExponentMarketEmission { tokenEscrow: PublicKey; lpShareIndex: ExponentNumber; lastSeenStaged: BN; } export interface ExponentFarmEmission { mint: PublicKey; tokenRate: BN; expiryTimestamp: number; index: ExponentNumber; } export interface ExponentMarketEmissions { trackers: ExponentMarketEmission[]; } export interface ExponentLpFarm { lastSeenTimestamp: number; farmEmissions: ExponentFarmEmission[]; } export interface ExponentCpiInterfaceContext { altIndex: number; isSigner: boolean; isWritable: boolean; } export interface ExponentCpiAccounts { getSyState: ExponentCpiInterfaceContext[]; depositSy: ExponentCpiInterfaceContext[]; withdrawSy: ExponentCpiInterfaceContext[]; claimEmission: ExponentCpiInterfaceContext[][]; getPositionState: ExponentCpiInterfaceContext[]; } export interface ExponentLiquidityNetBalanceLimits { windowStartTimestamp: number; windowStartNetBalance: BN; maxNetBalanceChangeNegativePercentage: number; maxNetBalanceChangePositivePercentage: number; windowDurationSeconds: number; } export interface ExponentEmissionInfo { tokenAccount: PublicKey; initialIndex: ExponentNumber; lastSeenIndex: ExponentNumber; finalIndex: ExponentNumber; treasuryTokenAccount: PublicKey; feeBps: number; treasuryEmission: BN; } export interface ExponentClaimLimits { claimWindowStartTimestamp: number; totalClaimAmountInWindow: BN; maxClaimAmountPerWindow: BN; claimWindowDurationSeconds: number; } export declare class ExponentMarketTwo extends Decodable { discriminator: number[]; addressLookupTable: PublicKey; mintPt: PublicKey; mintSy: PublicKey; vault: PublicKey; mintLp: PublicKey; tokenLpEscrow: PublicKey; tokenPtEscrow: PublicKey; tokenSyEscrow: PublicKey; tokenFeeTreasurySy: PublicKey; feeTreasurySyBps: number; selfAddress: PublicKey; signerBump: number; statusFlags: number; syProgram: PublicKey; financials: ExponentMarketFinancials; emissions: ExponentMarketEmissions; lpFarm: ExponentLpFarm; maxLpSupply: BN; lpEscrowAmount: BN; cpiAccounts: ExponentCpiAccounts; isCurrentFlashSwap: boolean; liquidityNetBalanceLimits: ExponentLiquidityNetBalanceLimits; seedId: number; static _layout: any; static discriminator: Buffer; static fixedDataLength: number; static offsetOf(property: string): number; static hasDiscriminator(data: Buffer): boolean; get pubkey(): PublicKey; get expirationTs(): string; get ptBalance(): string; get syBalance(): string; get lnFeeRateRoot(): number; get lastLnImpliedRate(): number; get rateScalarRoot(): number; } export declare class ExponentVault extends Decodable { discriminator: number[]; syProgram: PublicKey; mintSy: PublicKey; mintYt: PublicKey; mintPt: PublicKey; escrowYt: PublicKey; escrowSy: PublicKey; yieldPosition: PublicKey; addressLookupTable: PublicKey; startTs: number; duration: number; signerSeed: PublicKey; authority: PublicKey; signerBump: number; lastSeenSyExchangeRate: ExponentNumber; allTimeHighSyExchangeRate: ExponentNumber; finalSyExchangeRate: ExponentNumber; totalSyInEscrow: BN; syForPt: BN; ptSupply: BN; treasurySy: BN; uncollectedSy: BN; treasurySyTokenAccount: PublicKey; interestBpsFee: number; minOpSizeStrip: BN; minOpSizeMerge: BN; status: number; emissions: ExponentEmissionInfo[]; cpiAccounts: ExponentCpiAccounts; claimLimits: ExponentClaimLimits; maxPySupply: BN; static _layout: any; static discriminator: Buffer; static fixedDataLength: number; static offsetOf(property: string): number; static hasDiscriminator(data: Buffer): boolean; get pubkey(): PublicKey; } export declare class ExponentGenericSyState extends Decodable { prefixPadding: number[]; yieldBearingMint: PublicKey; middlePadding: number[]; oracle: PublicKey; static _layout: any; static fixedDataLength: any; static offsetOf(property: string): number; }