import * as BufferLayout from '@solana/buffer-layout'; import { PublicKey } from '@solana/web3.js'; import type { Provider } from '.'; import type { HasProvider, ProgramAccountInfo } from './account'; import type { Connection, Lockout, EpochCredits, BlockTimestamp, AuthorizedVoter, PriorVoter, AccountInfo } from '@solana/web3.js'; export declare function getVoteAccount(providerOrConnection: Provider | Connection | HasProvider, address: PublicKey): Promise>; export declare function getVoteAccountFromData(address: PublicKey, voteAccountInfo: AccountInfo): ProgramAccountInfo; type VoteAccountArgs = { nodePubkey: PublicKey; authorizedWithdrawer: PublicKey; commission: number; rootSlot: number | null; votes: LandedVote[]; authorizedVoters: AuthorizedVoter[]; priorVoters: PriorVoter[]; epochCredits: EpochCredits[]; lastTimestamp: BlockTimestamp; inflationRewardsCollector?: PublicKey; blockRevenueCollector?: PublicKey; inflationRewardsCommissionBps?: number; blockRevenueCommissionBps?: number; pendingDelegatorRewards?: number; blsPubkeyCompressed?: Uint8Array | null; }; export declare class VoteAccount { nodePubkey: PublicKey; authorizedWithdrawer: PublicKey; commission: number; rootSlot: number | null; votes: LandedVote[]; authorizedVoters: AuthorizedVoter[]; priorVoters: PriorVoter[]; epochCredits: EpochCredits[]; lastTimestamp: BlockTimestamp; inflationRewardsCollector?: PublicKey; blockRevenueCollector?: PublicKey; inflationRewardsCommissionBps?: number; blockRevenueCommissionBps?: number; pendingDelegatorRewards?: number; blsPubkeyCompressed?: Uint8Array | null; constructor(args: VoteAccountArgs); } export declare const toBuffer: (arr: Buffer | Uint8Array | Array) => Buffer; export declare function publicKey(property?: string): BufferLayout.Blob; export declare function option(layout: BufferLayout.Layout, property?: string): BufferLayout.Layout; type LandedVote = { latency: number; lockout: Lockout; }; export {}; //# sourceMappingURL=voteAccount.d.ts.map