///
import { Keypair } from '@solana/web3.js';
import { Connection, PublicKey, Transaction, TransactionInstruction, Commitment } from '@solana/web3.js';
/**
* Creates a Solana connection object
* @param rpcUrl The RPC URL to connect to
* @param commitment The commitment level
* @returns A new Connection instance
*/
export declare function createConnection(rpcUrl: string, commitment?: Commitment): Connection;
interface RetryOptions {
maxAttempts?: number;
initialDelay?: number;
maxDelay?: number;
factor?: number;
jitter?: boolean;
retryableErrors?: Array;
}
/**
* Utility function to retry operations with exponential backoff
* @param operation Function to retry
* @param options Retry configuration options
* @returns Promise resolving to the operation result
*/
export declare function withRetry(operation: () => Promise, options?: RetryOptions): Promise;
/**
* Creates a keypair from a private key string
* @param key Base58-encoded private key
* @returns Solana Keypair
*/
export declare function getKeyPairFromPrivateKey(key: string): Promise;
/**
* Gets a cached blockhash or fetches a new one if cache is expired
* @param connection Solana connection
* @returns Promise resolving to blockhash string
*/
export declare function getCachedBlockhash(connection: Connection): Promise;
/**
* Creates a transaction with instructions and priority fee
* @param connection Solana connection
* @param instructions Transaction instructions
* @param payer Payer public key
* @param priorityFeeInSol Optional priority fee in SOL
* @returns Promise resolving to Transaction
*/
export declare function createTransaction(connection: Connection, instructions: TransactionInstruction[], payer: PublicKey, priorityFeeInSol?: number): Promise;
/**
* Wrapper for sending and confirming transactions with retry logic
* @param connection Solana connection
* @param transaction Transaction to send
* @param signers Array of signers
* @returns Promise resolving to transaction signature
*/
export declare function sendAndConfirmTransactionWrapper(connection: Connection, transaction: Transaction, signers: Keypair[]): Promise;
/**
* Safely converts a number or string to a Buffer
* @param value Number or string to convert to Buffer
* @returns Buffer containing the BigInt representation
*/
export declare function bufferFromUInt64(value: number | string): Buffer;
/**
* Validates a Solana public key string
* @param publicKeyString Public key string to validate
* @returns Boolean indicating if the key is valid
*/
export declare function isValidPublicKey(publicKeyString: string): boolean;
/**
* Tracks a transaction until it reaches finality
* @param connection Solana connection
* @param signature Transaction signature
* @param timeoutMs Optional timeout in milliseconds
* @returns Promise resolving to confirmed transaction details
*/
export declare function trackTransaction(connection: Connection, signature: string, timeoutMs?: number): Promise;
export {};