import { Connection, Transaction, TransactionInstruction, VersionedTransaction } from "@solana/web3.js"; import { type ByteArray } from "viem"; import type { BaseSignerClient } from "./client/base"; /** * The SolanaSigner class is used to sign transactions and messages for the Solana blockchain. * It provides methods to add signatures to transactions and sign messages. */ export declare class SolanaSigner { readonly alchemyClient: BaseSignerClient; readonly address: string; /** * Constructor for the SolanaSigner class which is a wrapper around the alchemy client, and is more focused on the solana web3 * * @param {object} client This is the client that will be used to sign the transaction, and we are just having functions on top of it. */ constructor(client: BaseSignerClient); /** * Adds a signature of the client user to a transaction * * @param {Transaction | VersionedTransaction} transaction - The transaction to add the signature to * @returns {Promise} The transaction with the signature added */ addSignature(transaction: Transaction | VersionedTransaction): Promise; /** * Signs a message * * @param {Uint8Array} message - The message to sign * @returns {Promise} The signature of the message */ signMessage(message: Uint8Array): Promise; createTransaction(instructions: TransactionInstruction[], connection: Connection, version?: "versioned"): Promise; createTransaction(instructions: TransactionInstruction[], connection: Connection, version?: "legacy"): Promise; createTransaction(instructions: TransactionInstruction[], connection: Connection): Promise; /** * Adds sponsorship to a transaction. Used to have a party like Alchemy pay for the transaction. * * @param {TransactionInstruction[]} instructions - The instructions to add to the transaction * @param {Connection} connection - The connection to use for the transaction * @param {string} [policyId] - The policy ID to add sponsorship to * @returns {Promise} The transaction with sponsorship added */ addSponsorship(instructions: TransactionInstruction[], connection: Connection, policyId: string): Promise; private formatSignatureForSolana; private getMessageToSign; } //# sourceMappingURL=solanaSigner.d.ts.map