import FilterAggType from "./agg-type/filter.agg.type"; import ElasticSearchAggregateBuilder from "./aggregate.builder"; import { ElasticSearchRange, RangeMethod } from "./agg-type/range.agg.type"; import BucketSortAggType from "./agg-type/bucket-sort.agg.type"; export default class AggBuilder { private name; private aggType; private aggregateBuilder; private builder; constructor(name: string, builder: ElasticSearchAggregateBuilder); bucketSort(builder?: (bucketSortAggType: BucketSortAggType) => void, from?: number | null, size?: number | null, gapPolicy?: string | null): this; range(field: string, ranges: Array | RangeMethod): this; avg(field: string): this; sum(field: string): this; valueCount(field: string): this; nested(path: string): this; reverseNested(): this; terms(field?: string | null, script?: string | null, missing?: string | null, sharedMinDocCount?: number | null, showTermDocCountError?: boolean | null, size?: number | null, shardSize?: number | null, order?: { [key: string]: "desc" | "asc"; } | null): this; cardinality(field: string): this; filter(): FilterAggType; aggregate(): ElasticSearchAggregateBuilder; build(): any; end(): ElasticSearchAggregateBuilder; }