import { Expression, PipeOperator } from '../core'; import { ExpressionResultType } from './expression-result-type'; import { QueryResultType } from './query-result-type'; import { TsFlexQueryTypeMarker, TsFlexQueryTypeProperty } from './ts-flex-query-type'; import { ExpandRecursively, IfObject, IfPrimitive, PickPrimitiveFields } from './utils'; export type EvaluatedResultType = IfPrimitive[] : IfObject ? { [TKey in Exclude]: EvaluatedResultType; } : T extends undefined ? undefined : TExpandObjects extends true ? ExpandRecursively> : PickPrimitiveFields, T>>; export type EvaluatedExpressionType = EvaluatedResultType>; export type EvaluatedQueryType = EvaluatedResultType>;