import type { FieldDetails } from '../validateRecord'; import type { SchemaRecordError, SchemaValidationRecordErrorDetails } from '../validateSchema'; export type DictionaryValidationErrorBase = { schemaName: string; }; export type DictionaryValidationErrorUnrecognizedSchema = DictionaryValidationErrorBase & { reason: 'UNRECOGNIZED_SCHEMA'; }; export type DictionaryValidationErrorRecordForeignKey = FieldDetails & { reason: 'INVALID_BY_FOREIGNKEY'; foreignSchema: { schemaName: string; fieldName: string; }; }; export type DictionaryValidationRecordErrorDetails = SchemaValidationRecordErrorDetails | DictionaryValidationErrorRecordForeignKey; export type DictionaryValidationErrorInvalidRecords = DictionaryValidationErrorBase & { reason: 'INVALID_RECORDS'; invalidRecords: SchemaRecordError[]; }; export type DictionaryValidationError = DictionaryValidationErrorUnrecognizedSchema | DictionaryValidationErrorInvalidRecords;