/** * Schema validation for brightchain-db collections. * * Provides a lightweight JSON-Schema-like validator that can enforce * document structure on insert and update operations. * * Supported types: 'string', 'number', 'boolean', 'object', 'array', 'null', 'date', 'any', * 'branded-primitive', 'branded-interface' * Supported constraints: * - required: array of required field names * - properties: per-field type + constraints * - minLength / maxLength: for strings and arrays * - minimum / maximum: for numbers * - pattern: regex pattern for strings * - enum: allowed values * - items: schema for array elements * - additionalProperties: whether extra fields are allowed (default: true) */ import type { CollectionSchema, CollectionSchemaFieldType } from '@digitaldefiance/suite-core-lib'; import type { BsonDocument, FieldSchema, ValidationFieldError } from '../interfaces/storage/documentTypes'; export type { CollectionSchema, FieldSchema }; /** * Local alias for backward compatibility. * The canonical type is `CollectionSchemaFieldType` in brightchain-lib. */ export type SchemaType = CollectionSchemaFieldType; /** * Validate a document against a collection schema. * * @param doc - The document to validate * @param schema - The collection schema * @param collectionName - Collection name for error messages * @throws ValidationError if validationAction is 'error' * @returns Array of validation field errors (empty if valid) */ export declare function validateDocument(doc: BsonDocument, schema: CollectionSchema, collectionName: string): ValidationFieldError[]; /** * Apply default values from schema to a document (mutates a copy). */ export declare function applyDefaults(doc: BsonDocument, schema: CollectionSchema): BsonDocument; //# sourceMappingURL=schemaValidation.d.ts.map