import { RestQuery, QueryAgg, QuerySort, QueryColumn, QueryParams, PageData } from './restquery'; import { SortDir, DataAgg } from '../meta/basetype'; export declare class QueryBuilder { first: number; rows: number; orderBy: string; limit: number; aggregate: QueryAgg[]; sort: QuerySort[]; search: QueryParams; columns: QueryColumn[]; static get(): QueryBuilder; static buildPage(datas: T[]): PageData; getQueryInfo(): RestQuery; setPage(first: number, size: number): this; setLimit(limit: number): this; setOrder(orderBy: string): this; addSort(field: string, dir?: SortDir): this; /** * 添加小计(用于列表Footer合计) */ addAgg(propName: string, agg: DataAgg): this; addParam(paramName: string, paramVal: any): this; addColunm(field: string, alias?: string, agg?: DataAgg): this; /** * @description shortcut for group * */ groupby(field: string, alias?: string): this; sum(field: string, alias?: string): this; avg(field: string, alias?: string): this; count(field: string, alias?: string): this; min(field: string, alias?: string): this; max(field: string, alias?: string): this; addQueryInfo(qi: RestQuery): this; }