/// /// /// import { BeetStruct } from '@metaplex-foundation/beet'; import { PublicKey } from '@solana/web3.js'; import BigNumber from 'bignumber.js'; export declare enum LockupKind { 'None' = 0, 'Daily' = 1, 'Monthly' = 2, 'Cliff' = 3, 'Constant' = 4 } export type Lockup = { startTs: BigNumber; endTs: BigNumber; kind: LockupKind; reserved: number[]; }; export declare const lockupStruct: BeetStruct>; export type Vote = { version: number; realm: PublicKey; mint: PublicKey; owner: PublicKey; amount: BigNumber; padding: Buffer; }; export declare const voteStruct: BeetStruct>; export type DepositEntry = { lockup: Lockup; amountDepositedNative: BigNumber; amountInitiallyLockedNative: BigNumber; isUsed: boolean; allowClawback: boolean; votingMintConfigIdx: number; reserved: number[]; }; export declare const depositEntryStruct: BeetStruct>; export type Voter = { buffer: Buffer; voterAuthority: PublicKey; registrar: PublicKey; deposits: DepositEntry[]; voterBump: number; voterWeightRecordBump: number; reserved: number[]; }; export declare const voterStruct: BeetStruct>; export type VotingMintConfig = { mint: PublicKey; grantAuthority: PublicKey; baselineVoteWeightScaledFactor: BigNumber; maxExtraLockupVoteWeightScaledFactor: BigNumber; lockupSaturationSecs: BigNumber; digitShift: number; reserved1: number[]; reserved2: BigNumber[]; }; export declare const votingMintConfigStruct: BeetStruct>; export type Registrar = { buffer: Buffer; governanceProgramId: PublicKey; realm: PublicKey; realmGoverningTokenMint: PublicKey; realmAuthority: PublicKey; reserved1: number[]; votingMints: VotingMintConfig[]; timeOffset: BigNumber; bump: number; reserved2: number[]; reserved3: BigNumber[]; }; export declare const registrarStruct: BeetStruct>; export type Governance = { buffer: Buffer; field1: PublicKey; padding: number[]; }; export declare const governanceStruct: BeetStruct>;