import { BN } from "@coral-xyz/anchor"; import { PublicKey, VersionedTransaction, TransactionSignature, TransactionInstruction } from "@solana/web3.js"; import { BaseClient, BaseTxBuilder, TxOptions } from "./base"; declare class TxBuilder extends BaseTxBuilder { initializeAndDelegateStakeIxs(vote: PublicKey, amount: BN, glamSigner: PublicKey): Promise<[TransactionInstruction[], PublicKey]>; initializeAndDelegateStakeTx(vote: PublicKey, amount: BN, txOptions?: TxOptions): Promise<[VersionedTransaction, PublicKey]>; deactivateStakesIx(stakeAccounts: PublicKey[], glamSigner: PublicKey): Promise; deactivateStakesTx(stakeAccounts: PublicKey[], txOptions?: TxOptions): Promise; withdrawStakesIx(stakeAccounts: PublicKey[], glamSigner: PublicKey): Promise; withdrawStakesTx(stakeAccounts: PublicKey[], txOptions?: TxOptions): Promise; mergeStakeIx(destinationStake: PublicKey, sourceStake: PublicKey, glamSigner: PublicKey): Promise; mergeStakeTx(destinationStake: PublicKey, sourceStake: PublicKey, txOptions?: TxOptions): Promise; splitStakeIxs(existingStake: PublicKey, lamports: BN, glamSigner: PublicKey): Promise<[TransactionInstruction[], PublicKey]>; splitStakeTx(existingStake: PublicKey, lamports: BN, txOptions?: TxOptions): Promise<[VersionedTransaction, PublicKey]>; moveStakeIx(sourceStake: PublicKey, destinationStake: PublicKey, amount: BN, glamSigner: PublicKey): Promise; moveStakeTx(sourceStake: PublicKey, destinationStake: PublicKey, amount: BN, txOptions?: TxOptions): Promise; } export declare class StakeClient { readonly base: BaseClient; readonly txBuilder: TxBuilder; constructor(base: BaseClient); initializeAndDelegateStake(vote: PublicKey, amount: BN, txOptions?: TxOptions): Promise; deactivate(stakeAccounts: PublicKey[], txOptions?: TxOptions): Promise; withdraw(stakeAccounts: PublicKey[], txOptions?: TxOptions): Promise; merge(destinationStake: PublicKey, sourceStake: PublicKey, txOptions?: TxOptions): Promise; split(existingStake: PublicKey, lamports: BN, txOptions?: TxOptions): Promise<{ newStake: PublicKey; txSig: TransactionSignature; }>; move(sourceStake: PublicKey, destinationStake: PublicKey, amount: BN, txOptions?: TxOptions): Promise; getStakeAccountVoter(stakeAccount: PublicKey): Promise; createStakeAccount(signer: PublicKey): Promise<[PublicKey, TransactionInstruction]>; } export {};