import { AnchorProvider, Program, web3 } from '@coral-xyz/anchor'; import { PublicKey, Transaction } from '@solana/web3.js'; import { ISolanaConnectionOptions, ISolanaVaultState } from './types'; declare function getExplorerLink({ signature, type, network, }: { signature: string; type: 'tx' | 'address' | 'token'; } & ISolanaConnectionOptions): string; declare function isSolanaAddress(address: string): boolean; declare function isSolana(signature: string): boolean; declare function getProgram({ provider, idl, programId, network, }: { idl: any; programId?: string; } & ISolanaConnectionOptions): Program; declare function getBestRpcEndpoint({ endpoint, network, connection, }: ISolanaConnectionOptions): Promise<`https://${string}` | "http://127.0.0.1:8899">; declare function getProvider({ connection, publicKey, signTransaction, }: { publicKey: PublicKey; signTransaction: ((transaction: T) => Promise) | undefined; } & ISolanaConnectionOptions): AnchorProvider; declare function getReadOnlyProvider({ connection }: ISolanaConnectionOptions): AnchorProvider; declare function deriveVaultStatePda(vaultProgramId: PublicKey | string): web3.PublicKey; declare function deriveShareMintPda(vaultProgramId: PublicKey | string): web3.PublicKey; declare function deriveVaultTokenAtaPda(vaultProgramId: PublicKey | string, depositMint: PublicKey, vaultVersion?: number): web3.PublicKey; declare function getVaultState({ provider, connection, vaultProgramId, vaultAddress, idl, }: { vaultProgramId: PublicKey | string; vaultAddress?: PublicKey | string; idl: any; } & ISolanaConnectionOptions): Promise<{ vaultState: unknown | null; depositMintDecimals: number | null; }>; declare function getVaultStateReadOnly({ vaultProgramId, vaultAddress, connection, idl, }: { vaultProgramId: PublicKey | string; vaultAddress?: PublicKey | string; idl: any; } & ISolanaConnectionOptions): Promise<{ vaultState: ISolanaVaultState | null; depositMintDecimals: number | null; }>; declare function getVaultMints({ vaultProgramId, vaultAddress, connection, idl, }: { vaultProgramId: PublicKey | string; vaultAddress?: PublicKey | string; idl: any; } & ISolanaConnectionOptions): Promise<{ depositMint: string; shareMint: string; vaultVersion: number | undefined; }>; declare function getToken({ mintAddress, endpoint, connection, }: { mintAddress: string | PublicKey; } & ISolanaConnectionOptions): Promise<{ address: string; symbol: string; decimals: number; name: string; image: string; } | null>; declare function getTokenSymbol({ endpoint, mintAddress, }: { mintAddress: string | PublicKey; } & ISolanaConnectionOptions): Promise; declare function fetchUserTokenBalance({ connection, publicKey, depositMint, }: { publicKey: PublicKey | string; depositMint?: PublicKey | string; } & ISolanaConnectionOptions): Promise; declare function fetchUserShareBalance({ connection, publicKey, shareMint, }: { publicKey: PublicKey | string; shareMint?: PublicKey | string; } & ISolanaConnectionOptions): Promise; declare function resolveProgramId(vaultAddress: string, solanaMetadata?: { program_id?: string; } | null): string; export declare const SolanaUtils: { getExplorerLink: typeof getExplorerLink; isSolanaAddress: typeof isSolanaAddress; isSolana: typeof isSolana; getProgram: typeof getProgram; getProvider: typeof getProvider; getReadOnlyProvider: typeof getReadOnlyProvider; deriveShareMintPda: typeof deriveShareMintPda; deriveVaultStatePda: typeof deriveVaultStatePda; deriveVaultTokenAtaPda: typeof deriveVaultTokenAtaPda; getVaultState: typeof getVaultState; getVaultStateReadOnly: typeof getVaultStateReadOnly; getToken: typeof getToken; getTokenSymbol: typeof getTokenSymbol; fetchUserTokenBalance: typeof fetchUserTokenBalance; fetchUserShareBalance: typeof fetchUserShareBalance; getBestRpcEndpoint: typeof getBestRpcEndpoint; fallbackDecimals: number; fallbackNetwork: import("../..").ISolanaNetwork; programIds: { devnet: { vault: string; }; "mainnet-beta": { vault: string; }; testnet: { vault: string; }; localnet: { vault: string; }; }; getVaultMints: typeof getVaultMints; resolveProgramId: typeof resolveProgramId; }; export {};