///
///
///
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
import { FixableBeetStruct } from '@metaplex-foundation/beet';
export type VestingAccount = {
magic: BigNumber;
version: number;
createdAt: BigNumber;
withdrawnAmount: BigNumber;
canceledAt: BigNumber;
endTime: BigNumber;
lastWithdrawnAt: BigNumber;
sender: PublicKey;
senderToken: PublicKey;
recipient: PublicKey;
recipientToken: PublicKey;
mint: PublicKey;
escrowToken: PublicKey;
streamflowTreasury: PublicKey;
streamflowTreasuryToken: PublicKey;
streamflowFeeTotal: BigNumber;
streamflowFeeWithdrawn: BigNumber;
streamflowFeePercent: number;
partner: PublicKey;
partnerToken: PublicKey;
partnerFeeTotal: BigNumber;
partnerFeeWithdrawn: BigNumber;
partnerFeePercent: number;
startTime: BigNumber;
netAmountDeposited: BigNumber;
period: BigNumber;
amountPerPeriod: BigNumber;
cliff: BigNumber;
cliffAmount: BigNumber;
cancelableBySender: boolean;
cancelableByRecipient: boolean;
automaticWithdrawal: boolean;
transferableBySender: boolean;
transferableByRecipient: boolean;
canTopup: boolean;
streamName: Buffer;
padding: Buffer;
};
export declare const vestingAccountStruct: FixableBeetStruct>;
export declare enum OracleType {
None = 0,
Test = 1,
Pyth = 2,
Switchboard = 3
}
export type Contract = {
accountDiscriminator: number[];
bump: number;
sender: PublicKey;
senderTokens: PublicKey;
stream: PublicKey;
priceOracleType: OracleType;
priceOracle: PublicKey;
minPrice: BigNumber;
maxPrice: BigNumber;
minPercentage: BigNumber;
maxPercentage: BigNumber;
tickSize: BigNumber;
startTime: BigNumber;
endTime: BigNumber;
period: BigNumber;
lastAmountUpdateTime: BigNumber;
lastPrice: BigNumber;
streamCanceledTime: BigNumber;
initialAmountPerPeriod: BigNumber;
initialPrice: BigNumber;
initialNetAmount: BigNumber;
mint: PublicKey;
buffer: number[];
};
export declare const contractStruct: FixableBeetStruct>;
export type MerkleDistributor = {
accountDiscriminator: number[];
bump: number;
version: BigNumber;
root: number[];
mint: PublicKey;
tokenVault: PublicKey;
maxTotalClaim: BigNumber;
maxNumNodes: BigNumber;
unlockPeriod: BigNumber;
totalAmountClaimed: BigNumber;
numNodesClaimed: BigNumber;
startTs: BigNumber;
endTs: BigNumber;
clawbackStartTs: BigNumber;
clawbackReceiver: PublicKey;
admin: PublicKey;
clawedBack: boolean;
claimsClosableByAdmin: boolean;
canUpdateDuration: boolean;
totalAmountUnlocked: BigNumber;
totalAmountLocked: BigNumber;
lastDurationUpdateTs: BigNumber;
totalClaimablePreUpdate: BigNumber;
clawedBackTs: BigNumber;
claimsClosableByClaimant: boolean;
claimsLimit: number;
buffer2: number[];
buffer3: number[];
};
export declare const merkleDistributorStruct: FixableBeetStruct>;
export type ClaimStatus = {
accountDiscriminator: number[];
claimant: PublicKey;
lockedAmount: BigNumber;
lockedAmountWithdrawn: BigNumber;
unlockedAmount: BigNumber;
lastClaimTs: BigNumber;
lastAmountPerUnlock: BigNumber;
closed: boolean;
distributor: PublicKey;
claimsCount: number;
closedTs: BigNumber;
buffer2: number[];
};
export declare const claimStatusStruct: FixableBeetStruct>;
export type StakePool = {
accountDiscriminator: number[];
bump: number;
nonce: number;
mint: PublicKey;
creator: PublicKey;
authority: PublicKey;
minWeight: BigNumber;
maxWeight: BigNumber;
minDuration: BigNumber;
maxDuration: BigNumber;
permissionless: boolean;
vault: PublicKey;
stakeMint: PublicKey;
totalStake: BigNumber;
totalEffectiveStake: BigNumber;
freezeStakeMint: boolean;
unstakePeriod: BigNumber;
buffer: number[];
};
export declare const stakePoolStruct: FixableBeetStruct>;
export type StakeEntry = {
accountDiscriminator: number[];
nonce: number;
stakePool: PublicKey;
payer: PublicKey;
authority: PublicKey;
amount: BigNumber;
duration: BigNumber;
effectiveAmount: BigNumber;
createdTs: BigNumber;
closedTs: BigNumber;
priorTotalEffectiveStake: BigNumber;
unstakeTs: BigNumber;
buffer: number[];
};
export declare const stakeEntryStruct: FixableBeetStruct>;