import { CircleDeveloperControlledWalletsClient } from '@circle-fin/developer-controlled-wallets'; import { Address, TransactionPartialSigner } from '@solana/kit'; /** * Solana mainnet. */ declare const SOL: { readonly blockchainId: "SOL"; readonly cluster: "mainnet-beta"; }; /** * Solana devnet. */ declare const SOL_DEVNET: { readonly blockchainId: "SOL-DEVNET"; readonly cluster: "devnet"; }; /** * Maps accepted `chain` inputs (Circle `Blockchain` wire values and Solana * cluster names per https://solana.com/docs/references/clusters) to the * Circle `Blockchain` wire value the Signing API expects. */ declare const SolanaBlockchain: { readonly SOL: "SOL"; readonly "mainnet-beta": "SOL"; readonly "SOL-DEVNET": "SOL-DEVNET"; readonly devnet: "SOL-DEVNET"; }; type SolanaBlockchain = keyof typeof SolanaBlockchain; interface CreateTransactionSignerInput { client: CircleDeveloperControlledWalletsClient; address: TAddress; chain: SolanaBlockchain; } /** * Create a `@solana/kit` `TransactionPartialSigner` backed by a Circle * developer-controlled wallet. * @category Signing * @throws UnsupportedChainError if `chain` is not a Circle Solana `Blockchain` value or a supported Solana cluster alias. */ declare function createTransactionSigner({ client, address, chain, }: CreateTransactionSignerInput): TransactionPartialSigner; /** Thrown when the requested chain is not supported. */ declare class UnsupportedChainError extends Error { } export { SOL, SOL_DEVNET, SolanaBlockchain, UnsupportedChainError, createTransactionSigner }; export type { CreateTransactionSignerInput };