///
///
///
import { BeetStruct, FixableBeetStruct } from '@metaplex-foundation/beet';
import BigNumber from 'bignumber.js';
import { PublicKey } from '@solana/web3.js';
export type Fund = {
buffer: Buffer;
version: BigNumber;
manager: PublicKey;
fundToken: PublicKey;
managerFee: BigNumber;
supplyOutstanding: BigNumber;
activelyManaged: BigNumber;
activeBuyStates: BigNumber;
sellState: BigNumber;
rebalanceSellState: BigNumber;
hostPubkey: PublicKey;
hostFee: BigNumber;
numOfTokens: BigNumber;
currentCompToken: BigNumber[];
currentCompAmount: BigNumber[];
lastRebalanceTime: BigNumber[];
targetWeight: BigNumber[];
weightSum: BigNumber;
currentWeight: BigNumber[];
fundWorth: BigNumber;
lastUpdateTime: BigNumber;
refilterInterval: BigNumber;
reweightInterval: BigNumber;
rebalanceInterval: BigNumber;
rebalanceThreshold: BigNumber;
rebalanceSlippage: BigNumber;
lpOffsetThreshold: BigNumber;
lastRefilterTime: BigNumber;
lastReweightTime: BigNumber;
rulesReady: BigNumber;
assetPool: BigNumber[];
numOfRules: BigNumber;
rules: Buffer[];
numRuleTokens: BigNumber;
ruleTokens: BigNumber[];
ruleTokenWeights: BigNumber[];
messageDigestFive: number[];
disableRebalance: BigNumber;
disableLp: BigNumber;
allowMultiAssetContribution: number;
symbolLength: number;
symbol: number[];
nameLength: number;
name: number[];
uriLength: number;
uri: number[];
extraBytes: number[];
};
export declare const fundStruct: BeetStruct>;
export declare enum OracleType {
PythOld = 0,
CustomSwitchboard = 1,
CustomStakePool = 2,
Pyth = 3,
SwitchboardOnDemand = 4
}
export type TokenSettings = {
tokenMint: PublicKey;
decimals: number;
coingeckoId: number[];
pdaTokenAccount: PublicKey;
oracleType: OracleType;
oracleAccount: PublicKey;
oracleIndex: number;
oracleConfidencePct: number;
fixedConfidenceBps: number;
tokenSwapFeeAfterTwBps: number;
tokenSwapFeeBeforeTwBps: number;
isLive: number;
lpOn: number;
useCurveData: number;
additionalData: number[];
};
export declare const tokenSettingsStruct: BeetStruct>;
export type TokenList = {
buffer: Buffer;
numTokens: BigNumber;
list: TokenSettings[];
};
export declare const tokenListStruct: FixableBeetStruct>;