UNPKG

nowpayments-api

Version:

NOWPayments API client for Node.js with WebSocket support

97 lines (96 loc) 3.11 kB
export = NOWPaymentsWebSocket; /** * NOWPayments WebSocket client for real-time payment updates * @class NOWPaymentsWebSocket * @extends EventEmitter * @typedef {import('../types/websocket').WebSocketOptions} WebSocketOptions * @typedef {import('../types/websocket').PaymentUpdateEvent} PaymentUpdateEvent * @typedef {import('../types/websocket').WebSocketError} WebSocketError * @typedef {import('../types/websocket').ConnectionState} ConnectionState */ declare class NOWPaymentsWebSocket extends EventEmitter<[never]> { /** * Creates WebSocket client instance * @param {string} apiKey - NOWPayments API key * @param {WebSocketOptions} [options] - Client configuration options */ constructor(apiKey: string, options?: import("../types/websocket").WebSocketOptions | undefined); apiKey: string; options: { maxReconnectAttempts: number; reconnectDelay: number; pingInterval: number; pongTimeout: number; endpoint: string; }; reconnectAttempts: number; isConnected: boolean; lastPing: number | null; pongTimeout: NodeJS.Timeout | null; pingInterval: NodeJS.Timeout | null; reconnectTimer: NodeJS.Timeout | null; /** * Establishes WebSocket connection * @fires NOWPaymentsWebSocket#connected * @fires NOWPaymentsWebSocket#disconnected * @fires NOWPaymentsWebSocket#payment_update * @fires NOWPaymentsWebSocket#error */ connect(): void; ws: WebSocket | null | undefined; /** * Setup WebSocket event handlers * @private */ private _setupEventHandlers; /** * Starts ping/pong heartbeat * @private */ private _startPingPong; /** * Handles WebSocket disconnection * @private * @param {number} code - Close code * @param {string} reason - Close reason */ private _handleDisconnect; /** * Creates WebSocket error object * @private * @param {string} code - Error code * @param {string} message - Error message * @returns {WebSocketError} WebSocket error */ private _createError; /** * Closes WebSocket connection */ close(): void; /** * Gets current connection state * @returns {ConnectionState} Connection state */ getState(): ConnectionState; } declare namespace NOWPaymentsWebSocket { export { WebSocketOptions, PaymentUpdateEvent, WebSocketError, ConnectionState }; } import EventEmitter = require("events"); import WebSocket = require("ws"); /** * NOWPayments WebSocket client for real-time payment updates */ type WebSocketOptions = import("../types/websocket").WebSocketOptions; /** * NOWPayments WebSocket client for real-time payment updates */ type PaymentUpdateEvent = import("../types/websocket").PaymentUpdateEvent; /** * NOWPayments WebSocket client for real-time payment updates */ type WebSocketError = import("../types/websocket").WebSocketError; /** * NOWPayments WebSocket client for real-time payment updates */ type ConnectionState = import("../types/websocket").ConnectionState;