/** * Folio Service Client * Observability, Metrics, Health Monitoring */ export interface FolioClientConfig { baseUrl?: string; timeout?: number; } export interface Metric { name: string; value: number; timestamp: number; labels?: Record; } export interface MetricQuery { name: string; startTime?: number; endTime?: number; labels?: Record; } export interface HealthStatus { status: 'healthy' | 'degraded' | 'unhealthy'; timestamp: number; checks: HealthCheck[]; } export interface HealthCheck { name: string; status: 'pass' | 'fail'; duration: number; message?: string; } export interface Alert { id?: string; metric: string; threshold: number; operator: 'gt' | 'gte' | 'lt' | 'lte' | 'eq' | 'neq'; severity: 'info' | 'warning' | 'error' | 'critical'; message: string; timestamp: number; } export interface ErrorReport { message: string; stack?: string; context?: Record; timestamp: number; severity: 'low' | 'medium' | 'high' | 'critical'; } export declare class FolioClient { private baseUrl; private timeout; private authToken?; private isConnected; constructor(config?: FolioClientConfig); connect(): Promise; disconnect(): void; isConnectedStatus(): boolean; setAuthToken(token: string): void; recordMetric(metric: Metric): Promise; recordMetrics(metrics: Metric[]): Promise; queryMetrics(query: MetricQuery): Promise; getLatestMetric(name: string): Promise; recordError(error: ErrorReport): Promise; recordErrors(errors: ErrorReport[]): Promise; checkHealth(): Promise; checkComponentHealth(component: string): Promise; recordAlert(alert: Alert): Promise; getAlerts(severity?: string, limit?: number): Promise; dismissAlert(alertId: string): Promise; private healthCheck; private request; private getDefaultHealthStatus; } //# sourceMappingURL=FolioClient.d.ts.map