import { scalar } from "./base.scalar"; import { entity } from "./base.entity"; import { pair } from "./base.pair"; import { reportSourceEntity } from "./reportSourceEntity"; import { equalityEnum } from "./equalityEnum"; import { dateScopeEnum } from "./dateScopeEnum"; import { queryOptionEnum } from "./queryOptionEnum"; import { reportFieldUsageEnum } from "./reportFieldUsageEnum"; export declare namespace reportQueryEntity { type Id = scalar.Uuid; interface Doc extends entity.Doc, Request { name?: scalar.Title; _name?: scalar.Alpha; code?: scalar.Alpha; description?: scalar.Description; activated?: scalar.Boolean; source?: reportSourceEntity.Id; cacheMinutes?: scalar.Integer; options?: Array; nestedField?: scalar.Alpha; _selectFormatted: Array; _selectNames: Array; _selectMap: Record; _columns: Record>; _aliasMap: Record; _joinAliases: Array; _joinMap: Record; _filterFormatted: Array; _filterMap: Record; _whereNames: Array; _havingNames: Array; _groupNames: Array; _orderFormatted: Array; _orderMap: Record; } interface Filter extends entity.Filter { activated?: scalar.Boolean; } interface Service extends entity.Service { } type Table = entity.Wrapper; interface Pair extends pair.Core { } type IdOrPair = Id | Pair; interface View extends entity.View, Request { name?: scalar.Title; code?: scalar.Alpha; description?: scalar.Description; source?: reportSourceEntity.View; cacheMinutes?: scalar.Integer; } interface Request { select?: Array; filter?: Record; order?: Array; date?: DateInner; limit?: scalar.Integer; offset?: scalar.Integer; decorates?: Array; } interface DateInner extends reportSourceEntity.DefaultDate { scope?: dateScopeEnum.Id; begin?: scalar.IsoDatetime; end?: scalar.IsoDatetime; } interface OrderReq { name?: scalar.Alpha; desc?: scalar.Boolean; } type OrderReqAny = scalar.Alpha | OrderReq; interface OrderItem extends OrderReq { tags: Array; } interface FilterReq { equality?: equalityEnum.Id; value?: FilterValue; } type FilterValue = Array; type FilterReqAny = FilterReq | FilterValue; interface FilterItem extends FilterReq { name: scalar.Alpha; tags: Array; } interface FilterNamePart { name?: scalar.Alpha; equality?: equalityEnum.Id; } interface FindSelect { index: number; item: SelectItem; } interface SelectItem { column?: scalar.Alpha; name?: scalar.Alpha; usage: reportFieldUsageEnum.Id; tags: Array; } interface FindFilter { index: number; item: FilterItem; } interface FindOrder { index: number; item: OrderItem; } }