import Filter from './filter'; import { DateGrain } from '../models/enums/dateGrain'; import { RollingDateGrain } from '../models/enums/rollingDateGrain'; import { OrderByDirection } from '../models/enums/orderByDirection'; import { ColumnAggregation } from '../models/interfaces/columnAggregation'; declare class Query { private _columnNames; private _filters; private _aggregations; private _dateGrainColumn?; private _dateGrain?; private _groupByColumns; private _orderByColumns; private _useBeastMode; private _useFiscal; private _limit?; private _offset?; constructor(); useBeastMode(newValue?: boolean): this; useFiscalCalendar(newValue?: boolean): this; select(columnNames: string[]): this; where(columnName: string): Filter; groupBy(rules: string | string[] | ColumnAggregation): this; dateGrain(columnName: string, grain: DateGrain, aggregations?: ColumnAggregation): this; previousPeriod(columnName: string, interval?: DateGrain): this; rollingPeriod(columnName: string, interval?: RollingDateGrain, count?: number): this; periodToDate(columnName: string, interval?: DateGrain): this; orderBy(columnName: string, direction?: OrderByDirection): this; limit(value: number): this; offset(value: number): this; aggregate(aggregations: ColumnAggregation): this; query(alias: string): string; fetch = {}>(alias: string, config?: { accept?: string; timeout?: number; }): Promise; private manualFilterAdd; } export default Query;