///
///
///
import { BeetStruct } from '@metaplex-foundation/beet';
import { PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
export type ClaimStatus = {
discriminator: number[];
claimant: PublicKey;
lockedAmount: BigNumber;
lockedAmountWithdrawn: BigNumber;
unlockedAmount: BigNumber;
};
export declare const claimStatusStruct: BeetStruct>;
export type VaultNcnTicket = {
buffer: Buffer;
vault: PublicKey;
staker: PublicKey;
base: PublicKey;
vrtAmount: BigNumber;
slotUnstaked: BigNumber;
bump: number;
reserved: number[];
};
export declare const vaultNcnTicketStruct: BeetStruct>;
export type DelegationState = {
stakedAmount: BigNumber;
enqueuedForCooldownAmount: BigNumber;
coolingDownAmount: BigNumber;
reserved: number[];
};
export declare const delegationStateStruct: BeetStruct>;
export type Vault = {
buffer: Buffer;
base: PublicKey;
vrtMint: PublicKey;
supportedMint: PublicKey;
vrtSupply: BigNumber;
tokensDeposited: BigNumber;
depositCapacity: BigNumber;
delegationState: DelegationState;
additionalAssetsNeedUnstaking: BigNumber;
vrtEnqueuedForCooldownAmount: BigNumber;
vrtCoolingDownAmount: BigNumber;
vrtReadyToClaimAmount: BigNumber;
admin: PublicKey;
delegationAdmin: PublicKey;
operatorAdmin: PublicKey;
ncnAdmin: PublicKey;
slasherAdmin: PublicKey;
capacityAdmin: PublicKey;
feeAdmin: PublicKey;
delegateAssetAdmin: PublicKey;
feeWallet: PublicKey;
mintBurnAdmin: PublicKey;
metadataAdmin: PublicKey;
vaultIndex: BigNumber;
ncnCount: BigNumber;
operatorCount: BigNumber;
slasherCount: BigNumber;
lastFeeChangeSlot: BigNumber;
lastFullStateUpdateSlot: BigNumber;
depositFeeBps: number;
withdrawalFeeBps: number;
nextWithdrawalFeeBps: number;
rewardFeeBps: number;
programFeeBps: number;
bump: number;
isPaused: boolean;
reserved: number[];
};
export declare const vaultStruct: BeetStruct>;