import { ICryptoBytes, IWallet } from '@interchainjs/types'; import { PublicKey } from '../types'; import { Keypair } from '../keypair'; import { ISolanaQueryClient } from '../types/solana-client-interfaces'; import { ISolanaSigner, SolanaAccount, SolanaSignArgs, SolanaBroadcastOptions, SolanaBroadcastResponse, SolanaSignedTransaction, SolanaSignerConfig } from './types'; /** * Base implementation for Solana signers * Provides common functionality for different signer types */ export declare abstract class BaseSolanaSigner implements ISolanaSigner { protected config: SolanaSignerConfig; protected auth: IWallet | Keypair; private readonly queryClientInstance; constructor(auth: IWallet | Keypair, config: SolanaSignerConfig); get queryClient(): ISolanaQueryClient; getAccounts(): Promise; getPublicKey(index?: number): Promise; getAddresses(): Promise; signArbitrary(data: Uint8Array, index?: number): Promise; abstract sign(args: SolanaSignArgs): Promise; broadcast(signed: SolanaSignedTransaction, options?: SolanaBroadcastOptions): Promise; broadcastArbitrary(data: Uint8Array, options?: SolanaBroadcastOptions): Promise; signAndBroadcast(args: SolanaSignArgs, options?: SolanaBroadcastOptions): Promise; /** * Wait for transaction confirmation */ private waitForTransaction; /** * Get recent blockhash for transactions */ getRecentBlockhash(): Promise; private normalizeCommitment; }