/** * Advanced Time Series Query Engine * * Provides comprehensive querying capabilities for time series data including: * - Basic time range queries with filtering * - Advanced aggregations (moving averages, percentiles, derivatives) * - Time-based functions (gaps, interpolation, bucketing) * - Streaming and continuous queries * - Query optimization and caching * - Cross-tier query execution */ import type { TimeSeriesPoint, TimeSeriesQuery, TimeSeriesAggregationQuery, ContinuousQuery, TimeRange } from '../../../types/timeseries'; import type { QueryEngine, TimeSeriesQueryResult, TimeSeriesAggregationResult, MovingAverageOptions, TimeGap, HistogramResult, QueryPlan, TimeSeriesStorageAdapter } from '../interfaces'; export declare class TimeSeriesQueryEngine implements QueryEngine { private storageAdapter; private queryCache; private continuousQueries; private queryOptimizer; constructor(storageAdapter: TimeSeriesStorageAdapter); query(query: TimeSeriesQuery): Promise; aggregate(query: TimeSeriesAggregationQuery): Promise; movingAverage(options: MovingAverageOptions): Promise; derivative(metric: string, timeRange: TimeRange): Promise; histogram(metric: string, timeRange: TimeRange, buckets: number): Promise; timeBucket(interval: string, timestamp: number): number; timeGap(points: TimeSeriesPoint[], maxGapMs: number): TimeGap[]; interpolate(points: TimeSeriesPoint[], method: 'linear' | 'spline'): TimeSeriesPoint[]; createLiveQuery(query: TimeSeriesQuery): Promise>; createContinuousQuery(cq: ContinuousQuery): Promise; explainQuery(query: TimeSeriesQuery): Promise; optimizeQuery(query: TimeSeriesQuery): Promise; private generateCacheKey; private isCacheExpired; private cacheQueryResult; private applyPostProcessing; private matchesFilters; private normalizeTimeRange; private parseRelativeTime; private parseInterval; private generateTimeBuckets; private groupDataForAggregation; private parseBucketKey; private calculateAggregation; private calculatePercentile; private evaluateHavingClause; private applyFillStrategy; private convertGroupByToFilters; private linearInterpolate; private splineInterpolate; private generateContinuousQueryId; private scheduleContinuousQuery; private executeContinuousQuery; } //# sourceMappingURL=query-engine.d.ts.map