import { Keypair } from '@solana/web3.js'; import { SolanaSDK, IndexerClient, type IPFSClient } from '8004-solana'; import type { IPFSClientConfig } from '8004-solana'; export type SolanaCluster = 'devnet' | 'mainnet-beta'; export interface ISolanaConfig { cluster: SolanaCluster; rpcUrl?: string; indexerUrl?: string; indexerApiKey?: string; useIndexer: boolean; indexerFallback: boolean; forceOnChain: boolean; } export interface ISolanaState { config: ISolanaConfig; ipfsConfig?: IPFSClientConfig; sdk?: SolanaSDK; ipfs?: IPFSClient; indexer?: IndexerClient; keypair?: Keypair; } export interface ISignerInfo { configured: boolean; publicKey?: string; error?: string; } export declare function createDefaultConfig(): ISolanaConfig; export declare function parseKeypairFromEnv(privateKey?: string): Keypair | undefined; export declare class SolanaStateManager { private _config; private _sdk?; private _indexer?; private _keypair?; constructor(config?: Partial, privateKey?: string); get config(): ISolanaConfig; setConfig(updates: Partial): void; setIpfsConfig(config: IPFSClientConfig): void; get keypair(): Keypair | undefined; setKeypair(keypair: Keypair | undefined): void; getSignerInfo(): ISignerInfo; canWrite(): boolean; invalidateSdk(): void; getSdk(): SolanaSDK; getIndexer(): IndexerClient | undefined; getIpfs(): IPFSClient; hasIpfs(): boolean; isIndexerAvailable(): Promise; getSnapshot(): { config: ISolanaConfig; signer: ISignerInfo; hasIpfs: boolean; hasIndexer: boolean; }; } //# sourceMappingURL=state.d.ts.map