import { BN } from "@coral-xyz/anchor"; import { PublicKey, VersionedTransaction, TransactionSignature, TransactionInstruction, Keypair } from "@solana/web3.js"; import { MarinadeState } from "@marinade.finance/marinade-ts-sdk"; import { BaseClient, BaseTxBuilder, TxOptions } from "./base"; import { StakeAccountInfo } from "../utils/accounts"; import { StakeClient } from "./stake"; export type Ticket = { address: PublicKey; lamports: number; createdEpoch: number; isDue: boolean; isClaimable: boolean; }; declare class TxBuilder extends BaseTxBuilder { depositIxs(amount: BN, glamSigner: PublicKey): Promise; depositTx(amount: BN, txOptions: TxOptions): Promise; depositNativeIxs(amount: BN, glamSigner: PublicKey): Promise; depositNativeTx(amount: BN, txOptions: TxOptions): Promise; depositStakeAccountIx(stakeAccount: PublicKey, glamSigner: PublicKey): Promise; depositStakeAccountTx(stakeAccount: PublicKey, txOptions: TxOptions): Promise; withdrawStakeAccountIxs(amount: BN, deactivate: boolean | undefined, glamSigner: PublicKey): Promise<[TransactionInstruction[], Keypair]>; withdrawStakeAccountTx(amount: BN, deactivate: boolean | undefined, txOptions: TxOptions): Promise<[VersionedTransaction, Keypair]>; } export declare class MarinadeClient { readonly base: BaseClient; readonly stake: StakeClient; private marinadeState; txBuilder: TxBuilder; constructor(base: BaseClient, stake: StakeClient); deposit(amount: BN | number, txOptions?: TxOptions): Promise; depositNative(amount: BN, txOptions?: TxOptions): Promise; depositStakeAccount(stakeAccount: PublicKey, txOptions?: TxOptions): Promise; withdrawStakeAccount(amount: BN, deactivate?: boolean, txOptions?: TxOptions): Promise; fetchMarinadeState(): Promise; getParsedStakeAccountInfo(stakeAccount: PublicKey): Promise; parseAccountList(data: Buffer, itemSize: number): PublicKey[]; getIndexes(stakeAccount: StakeAccountInfo, stakeList: any, validatorList: any): Promise<{ stakeIndex: number; validatorIndex: number; }>; } export {};