/// import { PublicKey } from '@solana/web3.js'; import BN from 'bn.js'; import { GetStructureFromLayoutSchema, GetStructureSchema } from '../marshmallow'; import { poolTypeV6 } from './farm'; import { FarmVersion } from './type'; export declare const REAL_FARM_STATE_LAYOUT_V3: import("../marshmallow").Structure; export declare const REAL_FARM_STATE_LAYOUT_V5: import("../marshmallow").Structure; export declare const REAL_FARM_STATE_LAYOUT_V6: import("../marshmallow").Structure; export declare const FARM_STATE_LAYOUT_V3: GetStructureFromLayoutSchema<{ version: 3; rewardInfos: { rewardVault: PublicKey; totalReward: BN; perSlotReward: BN; perShareReward: BN; }[]; } & { state: BN; nonce: BN; lpVault: PublicKey; rewardVault: PublicKey; totalReward: BN; perShareReward: BN; lastSlot: BN; perSlotReward: BN; }>; export declare const FARM_STATE_LAYOUT_V5: GetStructureFromLayoutSchema<{ version: 5; rewardInfos: { rewardVault: PublicKey; totalReward: BN; perSlotReward: BN; perShareReward: BN; }[]; } & { state: BN; nonce: BN; lpVault: PublicKey; lastSlot: BN; rewardVaultA: PublicKey; totalRewardA: BN; perShareRewardA: BN; perSlotRewardA: BN; option: number; rewardVaultB: PublicKey; totalRewardB: BN; perShareRewardB: BN; perSlotRewardB: BN; }>; export declare const FARM_STATE_LAYOUT_V6: GetStructureFromLayoutSchema<{ version: 6; rewardInfos: { rewardState: BN; rewardOpenTime: BN; rewardEndTime: BN; rewardLastUpdateTime: BN; totalReward: BN; totalRewardEmissioned: BN; rewardClaimed: BN; rewardPerSecond: BN; accRewardPerShare: BN; rewardVault: PublicKey; rewardMint: PublicKey; rewardSender: PublicKey; rewardType: keyof typeof poolTypeV6; }[]; } & { state: BN; nonce: BN; lpVault: PublicKey; validRewardTokenNum: BN; rewardMultiplier: BN; rewardPeriodMax: BN; rewardPeriodMin: BN; rewardPeriodExtend: BN; lpMint: PublicKey; padding: BN[]; rewardInfos: { rewardVault: PublicKey; totalReward: BN; rewardState: BN; rewardOpenTime: BN; rewardEndTime: BN; rewardLastUpdateTime: BN; totalRewardEmissioned: BN; rewardClaimed: BN; rewardPerSecond: BN; accRewardPerShare: BN; rewardMint: PublicKey; rewardSender: PublicKey; rewardType: BN; padding: BN[]; }[]; creator: PublicKey; }>; export type FarmStateLayoutV3 = typeof FARM_STATE_LAYOUT_V3; export type FarmStateLayoutV5 = typeof FARM_STATE_LAYOUT_V5; export type FarmStateLayoutV6 = typeof FARM_STATE_LAYOUT_V6; export type FarmStateLayout = FarmStateLayoutV3 | FarmStateLayoutV5 | FarmStateLayoutV6; export type FarmStateV3 = GetStructureSchema; export type FarmStateV5 = GetStructureSchema; export type FarmStateV6 = GetStructureSchema; export type FarmState = FarmStateV3 | FarmStateV5 | FarmStateV6; export declare const FARM_LEDGER_LAYOUT_V3_1: import("../marshmallow").Structure; export declare const FARM_LEDGER_LAYOUT_V3_2: import("../marshmallow").Structure; export declare const FARM_LEDGER_LAYOUT_V5_1: import("../marshmallow").Structure; export declare const FARM_LEDGER_LAYOUT_V5_2: import("../marshmallow").Structure; export declare const FARM_LEDGER_LAYOUT_V6_1: import("../marshmallow").Structure; export type FarmLedgerLayoutV3_1 = typeof FARM_LEDGER_LAYOUT_V3_1; export type FarmLedgerLayoutV3_2 = typeof FARM_LEDGER_LAYOUT_V3_2; export type FarmLedgerLayoutV5_1 = typeof FARM_LEDGER_LAYOUT_V5_1; export type FarmLedgerLayoutV5_2 = typeof FARM_LEDGER_LAYOUT_V5_2; export type FarmLedgerLayoutV6_1 = typeof FARM_LEDGER_LAYOUT_V6_1; export type FarmLedgerLayout = FarmLedgerLayoutV3_1 | FarmLedgerLayoutV3_2 | FarmLedgerLayoutV5_1 | FarmLedgerLayoutV5_2 | FarmLedgerLayoutV6_1; export type FarmLedgerV3_1 = GetStructureSchema; export type FarmLedgerV3_2 = GetStructureSchema; export type FarmLedgerV5_1 = GetStructureSchema; export type FarmLedgerV5_2 = GetStructureSchema; export type FarmLedgerV6_1 = GetStructureSchema; export type FarmLedger = FarmLedgerV3_1 | FarmLedgerV3_2 | FarmLedgerV5_1 | FarmLedgerV5_2 | FarmLedgerV6_1; export declare const FARM_VERSION_TO_STATE_LAYOUT: { [version in FarmVersion]?: FarmStateLayout; } & { [version: number]: FarmStateLayout; }; export declare const FARM_VERSION_TO_LEDGER_LAYOUT: { [version in FarmVersion]?: FarmLedgerLayout; } & { [version: number]: FarmLedgerLayout; }; export declare const VoterVotingMintConfig: import("../marshmallow").Structure; export declare const VoterRegistrar: import("../marshmallow").Structure; export declare const VoterLockup: import("../marshmallow").Structure; export declare const VoterDepositEntry: import("../marshmallow").Structure; export declare const Voter: import("../marshmallow").Structure;