import * as S from "effect-app/Schema"; import type { FilterResult } from "../filter/filterApi.js"; import type { FieldValues } from "../filter/types.js"; import { type QAll } from "../query/dsl.js"; export type AggregateIrExpression = { readonly _tag: "agg-count"; } | { readonly _tag: "agg-count-when"; readonly filter: readonly FilterResult[]; } | { readonly _tag: "agg-sum"; readonly field: string; } | { readonly _tag: "agg-min"; readonly field: string; } | { readonly _tag: "agg-max"; readonly field: string; }; export type AggregateIrItem = AggregateIrExpression | { readonly _tag: "agg-field"; readonly path: string; }; export type ComputedProjectionMathIrExpression = { readonly _tag: "field"; readonly field: string; } | { readonly _tag: "mul"; readonly left: ComputedProjectionMathIrExpression; readonly right: ComputedProjectionMathIrExpression; }; export type ComputedProjectionIrExpression = { readonly _tag: "relation-count"; readonly path: string; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-any"; readonly path: string; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-every"; readonly path: string; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-distinct-count"; readonly path: string; readonly field: string; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-sum"; readonly path: string; readonly field: string; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-sum-expr"; readonly path: string; readonly expression: ComputedProjectionMathIrExpression; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-sum-expr-by"; readonly path: string; readonly expression: ComputedProjectionMathIrExpression; readonly unit: string; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-sum-expr-normalized"; readonly path: string; readonly expression: ComputedProjectionMathIrExpression; readonly unit: string; readonly toBase: string; readonly factors: Readonly>; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-collect"; readonly path: string; readonly field: string; readonly distinct: boolean; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-collect-fields"; readonly path: string; readonly fields: readonly string[]; readonly distinct: boolean; readonly filter: readonly FilterResult[]; } | { readonly _tag: "relation-length"; readonly path: string; }; export declare const toFilter: (q: QAll, baseSchema?: S.Schema) => { t: Exclude; limit: number; skip: number; select: any; schema: S.Codec; computed: never; order: readonly [{ key: import("../filter/types/path/eager.js").Path; direction: "ASC" | "DESC"; }, ...{ key: import("../filter/types/path/eager.js").Path; direction: "ASC" | "DESC"; }[]]; ttype: "count" | "many" | "one"; mode: "aggregate"; filter: FilterResult[]; } | { t: Exclude; limit: number; skip: number; select: readonly [{ key: string; subKeys: string[]; } | { key: string; computed: ComputedProjectionIrExpression; } | keyof TFieldValues, ...({ key: string; subKeys: string[]; } | { key: string; computed: ComputedProjectionIrExpression; } | keyof TFieldValues)[]]; schema: S.Codec; computed: Record; order: readonly [{ key: import("../filter/types/path/eager.js").Path; direction: "ASC" | "DESC"; }, ...{ key: import("../filter/types/path/eager.js").Path; direction: "ASC" | "DESC"; }[]]; ttype: "count" | "many" | "one"; mode: "aggregate" | "collect" | "project" | "transform"; filter: FilterResult[]; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWtpZC1pbnRlcnByZXRlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL01vZGVsL3F1ZXJ5L25ldy1raWQtaW50ZXJwcmV0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxLQUFLLENBQUMsTUFBTSxtQkFBbUIsQ0FBQTtBQUt0QyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMxRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUVyRCxPQUFPLEVBQWdCLEtBQUssSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFekQsTUFBTSxNQUFNLHFCQUFxQixHQUM3QjtJQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFBO0NBQUUsR0FDOUI7SUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDO0lBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLFlBQVksRUFBRSxDQUFBO0NBQUUsR0FDN0U7SUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDcEQ7SUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsR0FDcEQ7SUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQztJQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQTtBQUV4RCxNQUFNLE1BQU0sZUFBZSxHQUN2QixxQkFBcUIsR0FDckI7SUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQztJQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FBQTtBQUV6RCxNQUFNLE1BQU0sa0NBQWtDLEdBQzFDO0lBQ0EsUUFBUSxD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