import type { NormalizedInclude, NormalizedSelection } from "../canonical/query-ast.js"; import { PqsRelation } from "./pqs-schema-profile.js"; export interface PqsSelectedScalarField { readonly name: string; } export interface PqsJsonResultProjection { readonly name: string; readonly field: string; readonly path: readonly string[]; readonly as: "text" | "numeric" | "boolean" | "timestamp"; } export interface PqsIncludedResultShape { readonly edge: string; readonly target: PqsRelation; readonly cardinality: "one" | "many"; readonly shape: PqsRelationResultShape; } export interface PqsRelationResultShape { readonly relation: PqsRelation; readonly cardinality: "one" | "many"; readonly fields: readonly PqsSelectedScalarField[]; readonly json: readonly PqsJsonResultProjection[]; readonly includes: readonly PqsIncludedResultShape[]; } export declare function compilePqsResultShape(relation: PqsRelation, cardinality: "one" | "many", selection: NormalizedSelection | undefined, includes: readonly NormalizedInclude[]): PqsRelationResultShape;