/** TypeScript/JavaScript client for gRPC Geyser. */ import { SubscribeUpdateDeshredTransactionInfo, SubscribeUpdateTransactionInfo } from "./grpc/geyser"; import type { CommitmentLevel, GetBlockHeightResponse, GetLatestBlockhashResponse, GetSlotResponse, GetVersionResponse, IsBlockhashValidResponse, PongResponse, SubscribeDeshredRequest, SubscribeReplayInfoResponse, SubscribeRequest } from "./grpc/geyser"; export { CommitmentLevel, SubscribeDeshredRequest, SubscribeDeshredRequest_DeshredTransactionsEntry, SubscribeRequest, SubscribeRequest_AccountsEntry, SubscribeRequest_BlocksEntry, SubscribeRequest_BlocksMetaEntry, SubscribeRequestFilterDeshredTransactions, SubscribeRequest_SlotsEntry, SubscribeRequest_TransactionsEntry, SubscribeRequestAccountsDataSlice, SubscribeRequestFilterAccounts, SubscribeRequestFilterAccountsFilter, SubscribeRequestFilterAccountsFilterLamports, SubscribeRequestFilterAccountsFilterMemcmp, SubscribeRequestFilterBlocks, SubscribeRequestFilterBlocksMeta, SubscribeRequestFilterEntry, SubscribeRequestFilterSlots, SubscribeRequestFilterTransactions, SubscribeUpdate, SubscribeUpdateAccount, SubscribeUpdateAccountInfo, SubscribeUpdateBlock, SubscribeUpdateBlockMeta, SubscribeUpdateDeshred, SubscribeUpdateDeshredTransaction, SubscribeUpdateDeshredTransactionInfo, SubscribeUpdatePing, SubscribeUpdateSlot, SubscribeUpdateTransaction, SubscribeUpdateTransactionInfo, } from "./grpc/geyser"; import type { TransactionErrorSolana, DeshredTransactionEncodingToReturnType, MapTransactionEncodingToReturnType } from "./types"; import { Duplex } from "stream"; import * as napi from "./napi/index"; /** * Public channel options accepted by the SDK constructor. * This is sourced from the native N-API constructor signature to avoid * duplicating option fields in this file. */ export type ChannelOptions = NonNullable[2]>; export default class Client { private _insecureEndpoint; private _insecureXToken; private _channelOptions; private _grpcClient; constructor(endpoint: string, xToken: string | undefined, channel_options: ChannelOptions | undefined); private _connectedGrpcClient; connect(): Promise; getLatestBlockhash(commitment?: CommitmentLevel): Promise; ping(count: number): Promise; getBlockHeight(commitment?: CommitmentLevel): Promise; getSlot(commitment?: CommitmentLevel): Promise; isBlockhashValid(blockhash: string, commitment?: CommitmentLevel): Promise; getVersion(): Promise; subscribeReplayInfo(): Promise; subscribe(): Promise; subscribeDeshred(): Promise; } export declare class ClientDuplexStream extends Duplex { private _napiDuplexStream; private _readInFlight; private _isClosed; private _isDestroying; private _terminalErrorSeen; constructor(stream: unknown, options: object | undefined); _pullNextUpdate(): void; _read(_size: number): void; _destroy(error: Error | null, callback: (error?: Error | null) => void): void; _write(chunk: SubscribeRequest, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void; } export declare class ClientDeshredDuplexStream extends Duplex { private _napiDuplexStream; private _readInFlight; private _isClosed; private _isDestroying; private _terminalErrorSeen; constructor(stream: unknown, options: object | undefined); _pullNextUpdate(): void; _read(_size: number): void; _destroy(error: Error | null, callback: (error?: Error | null) => void): void; _write(chunk: SubscribeDeshredRequest, _encoding: BufferEncoding, callback: (error?: Error | null) => void): void; } export declare const txEncode: { encoding: any; encode_raw: typeof napi.encodeTx; encode: (message: SubscribeUpdateTransactionInfo, encoding: T, max_supported_transaction_version: number | undefined, show_rewards: boolean) => MapTransactionEncodingToReturnType[T]; }; export declare const txDeshredEncode: { encoding: any; encode_raw: typeof napi.encodeDeshredTx; encode: (message: SubscribeUpdateDeshredTransactionInfo, encoding: T) => DeshredTransactionEncodingToReturnType; }; export declare const txErrDecode: { decode_raw: typeof napi.decodeTxError; decode: (buf: Uint8Array) => TransactionErrorSolana; };