/// import Clock from './clock'; import EventEmitter2 from 'eventemitter2'; import { HttpsProxyAgent } from 'https-proxy-agent'; export type Job = { id: string; [key: string]: any; }; export type MontiOptions = { appId: string; appSecret: string; agentVersion: string; endpoint: string; hostname: string; clockSyncInterval: number; dataFlushInterval: number; retryOptions: { maxRetries: number; authRetryDelay: number; }; proxy?: string; }; export declare class Monti extends EventEmitter2 { _supportedFeatures: { websockets: boolean; }; _allowedFeatures: Record; _options: MontiOptions; _headers: Record; _clock: Clock; _clockSyncInterval: NodeJS.Timeout | null; _disconnectWebSocket: (() => void) | null; _disconnected: boolean; _agent: HttpsProxyAgent | undefined; constructor(_options?: Partial); get _websocketHeaders(): { 'monti-supported-features': string; }; featureSupported(feature: string): boolean; connect(): Promise; disconnect(): void; getJob(id: string): Promise; updateJob(id: string, diff: Record): Promise; sendData(_payload: Record): Promise; get(path: string, options?: { noRetry?: boolean; }): Promise; sendStream(path: string, stream: ReadableStream): Promise; _handleJobEvent(job: Job): void; _handleMessage(message: string): void; _initWebSocket(): void; _checkAuth(): Promise; _send(url: string, params: Record): Promise; } export default Monti; export * from './constants';