import { MetricsBuffer } from '../buffer'; import { ITransport } from '../transport'; import { LogStreamConfig } from '../types'; import { IClient } from './IClient'; import { LogContext, MetricSnapshot } from '@ologstream/types'; export declare class MetricClient implements IClient { protected metricsBuffer: MetricsBuffer; protected config: Required & { maxBufferSize: number; maxRetries: number; collectMetrics: boolean; metricsInterval: number; collectNetwork: boolean; }; protected context: LogContext | undefined; protected failureCount: number; protected isHealthy: boolean; protected transport: ITransport; constructor(platform: string, config: LogStreamConfig, transport: ITransport); updateTransport(transport: ITransport): void; setContext(context: LogContext): void; capture(data: MetricSnapshot): void; flush(): void; send(metrics: MetricSnapshot[]): Promise; destroy(): void; getStats(): { bufferSize: number; isHealthy: boolean; failureCount: number; }; }