import * as SolanaConstants from './constants'; import * as SolanaGetters from './getters'; import * as SolanaActions from './vault.actions'; import { AnchorProvider, web3 } from '@coral-xyz/anchor'; import { Connection, PublicKey, Transaction } from '@solana/web3.js'; import { ISolanaNetwork, ISolanaRpcEndpoint } from './types'; import { SendTransactionOptions } from '@solana/wallet-adapter-base'; export declare const Solana: { utils: { getExplorerLink: ({ signature, type, network, }: { signature: string; type: "tx" | "address" | "token"; } & import("./types").ISolanaConnectionOptions) => string; isSolanaAddress: (address: string) => boolean; isSolana: (signature: string) => boolean; getProgram: ({ provider, idl, programId, network, }: { idl: any; programId?: string; } & import("./types").ISolanaConnectionOptions) => import("@coral-xyz/anchor").Program; getProvider: ({ connection, publicKey, signTransaction, }: { publicKey: PublicKey; signTransaction: ((transaction: T) => Promise) | undefined; } & import("./types").ISolanaConnectionOptions) => AnchorProvider; getReadOnlyProvider: ({ connection }: import("./types").ISolanaConnectionOptions) => AnchorProvider; deriveShareMintPda: (vaultProgramId: PublicKey | string) => web3.PublicKey; deriveVaultStatePda: (vaultProgramId: PublicKey | string) => web3.PublicKey; deriveVaultTokenAtaPda: (vaultProgramId: PublicKey | string, depositMint: PublicKey, vaultVersion?: number) => web3.PublicKey; getVaultState: ({ provider, connection, vaultProgramId, vaultAddress, idl, }: { vaultProgramId: PublicKey | string; vaultAddress?: PublicKey | string; idl: any; } & import("./types").ISolanaConnectionOptions) => Promise<{ vaultState: unknown | null; depositMintDecimals: number | null; }>; getVaultStateReadOnly: ({ vaultProgramId, vaultAddress, connection, idl, }: { vaultProgramId: PublicKey | string; vaultAddress?: PublicKey | string; idl: any; } & import("./types").ISolanaConnectionOptions) => Promise<{ vaultState: import("./types").ISolanaVaultState | null; depositMintDecimals: number | null; }>; getToken: ({ mintAddress, endpoint, connection, }: { mintAddress: string | PublicKey; } & import("./types").ISolanaConnectionOptions) => Promise<{ address: string; symbol: string; decimals: number; name: string; image: string; } | null>; getTokenSymbol: ({ endpoint, mintAddress, }: { mintAddress: string | PublicKey; } & import("./types").ISolanaConnectionOptions) => Promise; fetchUserTokenBalance: ({ connection, publicKey, depositMint, }: { publicKey: PublicKey | string; depositMint?: PublicKey | string; } & import("./types").ISolanaConnectionOptions) => Promise; fetchUserShareBalance: ({ connection, publicKey, shareMint, }: { publicKey: PublicKey | string; shareMint?: PublicKey | string; } & import("./types").ISolanaConnectionOptions) => Promise; getBestRpcEndpoint: ({ endpoint, network, connection, }: import("./types").ISolanaConnectionOptions) => Promise<`https://${string}` | "http://127.0.0.1:8899">; fallbackDecimals: number; fallbackNetwork: import("../..").ISolanaNetwork; programIds: { devnet: { vault: string; }; "mainnet-beta": { vault: string; }; testnet: { vault: string; }; localnet: { vault: string; }; }; getVaultMints: ({ vaultProgramId, vaultAddress, connection, idl, }: { vaultProgramId: PublicKey | string; vaultAddress?: PublicKey | string; idl: any; } & import("./types").ISolanaConnectionOptions) => Promise<{ depositMint: string; shareMint: string; vaultVersion: number | undefined; }>; resolveProgramId: (vaultAddress: string, solanaMetadata?: { program_id?: string; } | null) => string; }; constants: typeof SolanaConstants; actions: typeof SolanaActions; getters: typeof SolanaGetters; }; declare class SolanaAdapter { private _endpoint; private _network; private _connection; private _provider; constructor(endpoint: ISolanaRpcEndpoint, network?: ISolanaNetwork); get endpoint(): `https://${string}`; get network(): ISolanaNetwork; get connection(): web3.Connection; get provider(): AnchorProvider; setWalletProvider(_publicKey: PublicKey | string, signTransaction: ((transaction: T) => Promise) | undefined): void; getProgram(programIdl: any): import("@coral-xyz/anchor").Program; getVaultState(vaultProgramId: PublicKey | string, idl: any, vaultAddress?: PublicKey | string): Promise<{ vaultState: unknown | null; depositMintDecimals: number | null; }>; getVaultStateReadOnly(vaultProgramId: PublicKey | string, idl: any, vaultAddress?: PublicKey | string): Promise<{ vaultState: import("./types").ISolanaVaultState | null; depositMintDecimals: number | null; }>; getToken(mintAddress: string | PublicKey): Promise<{ address: string; symbol: string; decimals: number; name: string; image: string; }>; getTokenSymbol(mintAddress: string | PublicKey): Promise; fetchUserTokenBalance(publicKey: PublicKey | string, depositMint: PublicKey | string): Promise; fetchUserShareBalance(publicKey: PublicKey | string, shareMint: PublicKey | string): Promise; vaultDeposit(vaultProgramId: PublicKey | string, idl: any, publicKey: PublicKey | string, depositAmount: number, sendTransaction: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise, vaultAddress?: PublicKey | string): Promise; vaultRedeem(vaultProgramId: PublicKey | string, idl: any, publicKey: PublicKey | string, redeemShares: number, sendTransaction: (transaction: Transaction | web3.VersionedTransaction, connection: Connection, options?: SendTransactionOptions) => Promise, vaultAddress?: PublicKey | string): Promise; getProgramId(type: 'vault'): string; } export default SolanaAdapter;