import { Cardano, CardanoNode } from '@cardano-sdk/core'; import { GenesisData } from '..'; import { Logger } from 'ts-log'; import { WSMessage, WsProvider } from '@cardano-sdk/cardano-services-client'; import { Pool } from 'pg'; export { WebSocket } from 'ws'; declare module 'ws' { interface WebSocket { addresses: Cardano.PaymentAddress[]; clientId: string; heartbeat: number; logError: (error: Error, msg: string) => void; logInfo: (msg: object | string) => void; logDebug: (msg: object | string) => void; sendMessage: (message: WSMessage) => void; } interface WebSocketServer { clients: Set; } } export interface WsServerConfiguration { dbCacheTtl: number; heartbeatInterval?: number; heartbeatTimeout?: number; port: number; } export interface WsServerDependencies { cardanoNode: CardanoNode; db: Pool; genesisData: GenesisData; logger: Logger; } export declare class CardanoWsServer extends WsProvider { private cardanoNode; private closeNotify; private closing; private db; private heartbeatInterval; private lastReceivedNotification; private lastSentNotification; private lastSlot; private logger; private networkInfo; private notifications; private server; private stakeInterval; private syncing; private wss; constructor(dependencies: WsServerDependencies, cfg: WsServerConfiguration); close(callback?: () => void): void; private createHttpServer; private createOnNotification; private listenNotify; private init; private createOnConnection; private onEpochRollover; private request; private send; private sendNotification; private sendString; } //# sourceMappingURL=server.d.ts.map