import type { CatalogRecord } from "@x12i/catalox-contracts/catalogs.js"; import type { CatalogTypeRegistryRecord } from "@x12i/catalox-contracts/catalog-types.js"; import type { CreateCatalogInput } from "@x12i/catalox-contracts/inputs.js"; import type { CatalogId } from "@x12i/catalox-contracts/ids.js"; import type { CatalogItemValidationReport } from "@x12i/catalox-contracts/item-validation.js"; import type { JsonSchema, PayloadSchemaRegistry } from "./payload-schema-registry.js"; export type ResolvePayloadSchemaInput = { catalog?: CatalogRecord | null; catalogTypeRegistry?: CatalogTypeRegistryRecord | null; registry?: PayloadSchemaRegistry | null; }; export type ResolvedPayloadSchema = { schema: JsonSchema; schemaId: string; }; export declare function buildDefaultPayloadSchemaId(catalogType: string, version?: string): string; /** * Resolution order: * 1. Inline `catalog.catalogItems.itemSchema` (native/internal catalogs). * 2. `catalog.schemaVersion` (+ `catalogType`) → bundled/injected registry lookup. * 3. `catalogTypeRegistry.metadata.payloadSchemas[catalogType]` → registry lookup. */ export declare function resolvePayloadSchema(input: ResolvePayloadSchemaInput): ResolvedPayloadSchema | null; export declare function validateNativeItemPayload(data: unknown, resolved: ResolvedPayloadSchema, registry?: PayloadSchemaRegistry | null): CatalogItemValidationReport; /** Build a {@link CatalogRecord}-shaped object from seed/create input (no Firestore read). */ export declare function catalogRecordFromCreateInput(input: CreateCatalogInput & { catalogId: CatalogId; }): CatalogRecord; export declare function validateNativeItemPayloadOrMissing(data: unknown, input: ResolvePayloadSchemaInput): CatalogItemValidationReport; //# sourceMappingURL=payload-schema.d.ts.map