///
///
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
export type StablePoolToken = {
mint: PublicKey;
decimals: number;
scalingUp: boolean;
scalingFactor: BigNumber;
balance: BigNumber;
};
export declare const stablePoolTokenStruct: BeetStruct>;
export type WeightedPoolToken = {
mint: PublicKey;
decimals: number;
scalingUp: boolean;
scalingFactor: BigNumber;
balance: BigNumber;
weight: BigNumber;
};
export declare const weightedPoolTokenStruct: BeetStruct>;
export type WeightedPool = {
accountDiscriminator: number[];
owner: PublicKey;
vault: PublicKey;
mint: PublicKey;
authorityBump: number;
isActive: boolean;
invariant: BigNumber;
swapFee: BigNumber;
tokens: StablePoolToken[];
pendingOwner?: PublicKey;
};
export declare const weightedPoolStruct: FixableBeetStruct>;
export type StablePool = {
accountDiscriminator: number[];
owner: PublicKey;
vault: PublicKey;
mint: PublicKey;
authorityBump: number;
isActive: boolean;
ampInitialFactor: number;
ampTargetFactor: number;
rampStartTs: BigNumber;
rampStopTs: BigNumber;
swapFee: BigNumber;
tokens: StablePoolToken[];
pendingOwner?: PublicKey;
};
export declare const stablePoolStruct: FixableBeetStruct>;
export type Miner = {
accountDiscriminator: number[];
pool: PublicKey;
authority: PublicKey;
beneficiary: PublicKey;
bump: number;
amount: BigNumber;
rewardsDebt: BigNumber;
rewardsCredit: BigNumber;
rewardsClaimed: BigNumber;
};
export declare const minerStruct: BeetStruct>;
export type StakedPool = {
accountDiscriminator: number[];
rewarder: PublicKey;
mint: PublicKey;
decimals: number;
weight: number;
totalAmount: BigNumber;
totalRewardsDebt: BigNumber;
totalRewardsCredit: BigNumber;
totalRewardsDistributed: BigNumber;
totalWeights: BigNumber;
rewardsPerAmount: BigNumber;
numMiners: number;
};
export declare const stakedPoolStruct: BeetStruct>;
export type Rewarder = {
accountDiscriminator: number[];
admin: PublicKey;
mint: PublicKey;
decimals: number;
authorityBump: number;
cumulativeRewards: BigNumber;
totalRewards: BigNumber;
totalRewardsClaimed: BigNumber;
totalWeights: BigNumber;
rewardsPerWeight: BigNumber;
numPools: number;
epochIndex: number;
epochStartsAt: BigNumber;
epochEndsAt: BigNumber;
epochDuration: BigNumber;
lastUpdatedAt: BigNumber;
parentRewarder: PublicKey;
};
export declare const rewarderStruct: BeetStruct>;