import type { DruidGranularity, QueryTime } from './types'; import type { Timeframe } from './timeframes'; declare abstract class BaseQueryTime implements QueryTime { protected readonly timeframe: Timeframe; protected readonly tz?: string; protected readonly dataGranularity: string; constructor(timeframe: Timeframe, tz?: string, dataGranularity?: string); abstract startDate(): Date; abstract endDate(): Date; abstract granularityMs(): number; protected calculateStartDate(isRelative: boolean, granularity: string, periods?: number): Date; granularitySeconds(): number; granularityDruid(): DruidGranularity; startSeconds(): number; endSeconds(): number; startMs(): number; endMs(): number; } export declare class TimeseriesQueryTime extends BaseQueryTime { private readonly granularity; constructor(timeframe: Timeframe, granularity?: string, tz?: string, dataGranularity?: string, fineGrain?: boolean); startDate(): Date; endDate(): Date; granularityMs(): number; } export declare class UnaryQueryTime extends BaseQueryTime { startDate(): Date; endDate(): Date; granularityMs(): number; } export declare class DeltaQueryTime extends UnaryQueryTime { startDate(): Date; granularityMs(): number; } export {}; //# sourceMappingURL=queryTime.d.ts.map