/// import { Extension, onChangePayload, onConfigurePayload, onConnectPayload, onLoadDocumentPayload, onDisconnectPayload, onRequestPayload, onUpgradePayload } from '@hocuspocus/server'; import { IncomingMessage, ServerResponse } from 'http'; import WebSocket from 'ws'; import { Storage } from './Storage'; import { Dashboard } from './Dashboard'; import { Collector } from './Collector'; export interface Configuration { dashboardPath: string; enableDashboard: boolean; metricsInterval: number; osMetricsInterval: number; password: string | undefined; port: number | undefined; user: string | undefined; } export declare class Monitor implements Extension { configuration: Configuration; storage: Storage; collector: Collector; dashboard?: Dashboard; /** * Constructor */ constructor(configuration?: Partial); private collectOsMetrics; private collectConnectionMetrics; private cleanMetrics; handleRequest(request: IncomingMessage, response: ServerResponse): boolean | undefined; handleConnection(websocket: WebSocket, request: IncomingMessage): void | undefined; onRequest({ request, response }: onRequestPayload): Promise; onUpgrade({ request, socket, head }: onUpgradePayload): Promise; onConnect(data: onConnectPayload): Promise; onDisconnect(data: onDisconnectPayload): Promise; onLoadDocument(data: onLoadDocumentPayload): Promise; onChange(data: onChangePayload): Promise; onConfigure(data: onConfigurePayload): Promise; }