import { AutoMap } from '@cratis/chronicle.contracts'; import type { ContractEventType, FromRecord, RemovedWithRecord } from '../../projections/declarative/ProjectionBuilderCore.js'; import type { ChildrenDefinitionLike } from '../../projections/modelBound/childrenAndNestedBuilder.js'; import type { JsonSchema } from '../../schemas/JsonSchema.js'; /** Rejects an operation at a contract path, optionally naming the responsible declaration. */ export type RejectOperation = (path: string, reason: string, fallback?: string) => never; /** Validates a scalar mapping into a target schema, rejecting anything outside the fixture-backed subset. */ export type CheckMapping = (modelSchema: JsonSchema, eventSchema: JsonSchema, destination: string, expression: string, path: string) => void; /** The inputs children validation shares with root validation. */ export interface ChildrenValidationContext { readonly schema: JsonSchema; readonly rootAutoMap: AutoMap; readonly hasInitialModelState: boolean; readonly from: readonly FromRecord[]; readonly removedWith: readonly RemovedWithRecord[]; readonly declarationFor: (path: string) => string | undefined; readonly requireEventSchema: (eventType: ContractEventType, path: string) => JsonSchema; readonly checkMapping: CheckMapping; readonly reject: RejectOperation; } /** * Validates one level of children collections against the packaged-kernel fixtures * (`children-from-keyed`, `children-identified-removed`, `children-typed-items`, * `children-untyped-items`, `children-identifier-equals-key`). */ export declare class ProjectionChildrenCapabilities { /** * Throws for the first children operation outside the fixture-backed subset. * @param children - The wire `Children` section of the root definition. * @param context - Shared root validation state. */ static validate(children: Record, context: ChildrenValidationContext): void; } //# sourceMappingURL=ProjectionChildrenCapabilities.d.ts.map