import { CBDAdapter } from '../cbd-adapter.js'; import { TimeSeriesQuery, TimeSeriesPoint } from '../types.js'; export declare class TimeSeriesAPI implements TimeSeriesQuery { private metric; private adapter; private rangeStart?; private rangeEnd?; private tagFilters; constructor(metric: string, adapter: CBDAdapter); insert(timestamp: Date, value: number, tags?: Record): Promise; range(start: Date, end: Date): TimeSeriesAPI; where(tags: Record): TimeSeriesAPI; aggregate(func: 'avg' | 'sum' | 'min' | 'max' | 'count', interval?: string): Promise; latest(): Promise; insertBatch(points: Array<{ timestamp: Date; value: number; tags?: Record; }>): Promise; query(options?: { start?: Date; end?: Date; tags?: Record; limit?: number; orderBy?: 'asc' | 'desc'; }): Promise; delete(start: Date, end: Date, tags?: Record): Promise; stats(options?: { start?: Date; end?: Date; tags?: Record; }): Promise<{ count: number; min: number; max: number; avg: number; sum: number; stdDev: number; }>; downsample(interval: string, aggregationFunc?: 'avg' | 'sum' | 'min' | 'max' | 'count'): Promise; interpolate(method?: 'linear' | 'cubic' | 'nearest', interval?: string): Promise; forecast(periodsAhead: number, model?: 'linear' | 'seasonal' | 'arima'): Promise; detectAnomalies(algorithm?: 'zscore' | 'iqr' | 'isolation_forest', threshold?: number): Promise>; private performAggregation; private calculateAggregateValue; private groupByInterval; private parseInterval; private performInterpolation; } //# sourceMappingURL=timeseries.d.ts.map