import { PublicKey, Transaction } from '@solana/web3.js'; import { TurnkeyConfig } from '../turnkeyClient.js'; import { SvmTransactionSigner } from './solana-web3js.js'; /** * Turnkey signer for Solana/SVM transactions * Provides a Keypair-like interface but signs transactions using Turnkey's secure enclaves * Uses composition to access Turnkey functionality while implementing SVM interface * * @example * ```typescript * const config: TurnkeyConfig = { * organizationId: 'your-org-id', * apiPublicKey: process.env.TURNKEY_API_PUBLIC_KEY, * apiPrivateKey: process.env.TURNKEY_API_PRIVATE_KEY, * privateKeyId: 'your-private-key-id', * publicKey: 'base58-solana-pubkey', * }; * * const signer = new TurnkeySealevelSigner(config); * * // Use with SvmMultiProtocolSignerAdapter * const adapter = new SvmMultiProtocolSignerAdapter( * 'solana', * signer, * multiProtocolProvider * ); * ``` */ export declare class TurnkeySealevelSigner implements SvmTransactionSigner { private readonly manager; private readonly turnkeySigner; readonly publicKey: PublicKey; constructor(config: TurnkeyConfig); /** * Health check - delegates to manager */ healthCheck(): Promise; /** * Get a signer (returns this instance) */ getSigner(): Promise; /** * Sign a Solana transaction using Turnkey * This method uses Turnkey's secure enclave to sign the transaction * and enforces any policies configured in Turnkey (e.g., IGP-only restrictions) */ signTransaction(transaction: Transaction): Promise; } //# sourceMappingURL=turnkey.d.ts.map