///
///
import { StakeState } from '@marinade.finance/marinade-ts-sdk/dist/src/marinade-state/borsh/stake-state';
import { PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
import type { HasProvider, ProgramAccountInfo, ProgramAccountInfoNoData, Provider } from '@marinade.finance/web3js-1x';
import type { Connection } from '@solana/web3.js';
export declare function deserializeStakeState(data: Buffer | undefined): StakeState;
export type StakeAccountParsed = {
address: PublicKey;
withdrawer: PublicKey | null;
staker: PublicKey | null;
voter: PublicKey | null;
activationEpoch: BN | null;
deactivationEpoch: BN | null;
isCoolingDown: boolean;
isLockedUp: boolean;
balanceLamports: BN | null;
stakedLamports: BN | null;
currentEpoch: number;
currentTimestamp: number;
};
export declare function getStakeAccount(connection: Provider | Connection | HasProvider, address: PublicKey, currentEpoch?: number | BN | bigint): Promise;
export declare function findStakeAccountNoDataInfos({ connection, staker, withdrawer, voter, }: {
connection: Provider | Connection | HasProvider;
staker?: PublicKey;
withdrawer?: PublicKey;
voter?: PublicKey;
}): Promise;
export declare function loadStakeAccounts({ connection, addresses, currentEpoch, }: {
connection: Provider | Connection | HasProvider;
addresses: PublicKey[] | ProgramAccountInfoNoData[];
currentEpoch?: number | BN;
}): Promise[]>;
export declare function findStakeAccounts({ connection, staker, withdrawer, voter, currentEpoch, }: {
connection: Provider | Connection | HasProvider;
staker?: PublicKey;
withdrawer?: PublicKey;
voter?: PublicKey;
currentEpoch?: BN | number;
}): Promise[]>;
export declare function getRentExemptStake(provider: Provider, rentExempt?: number): Promise;
//# sourceMappingURL=stakeAccount.d.ts.map