import type { ArrayDataValue, DataRecordValue, SingleDataValue } from '@overture-stack/lectern-dictionary'; import type { TestResult } from '../types'; export type RestrictionTestInvalidArrayItem = { position: number; value: SingleDataValue; }; export type RestrictionTestInvalidInfo = { message: string; invalidItems?: Array; }; export type FieldRestrictionSingleValueTestFunction = (rule: Rule, value: SingleDataValue) => TestResult; export type FieldRestrictionArrayTestFunction = (rule: Rule, values: ArrayDataValue) => TestResult; export type FieldRestrictionTestFunction = (rule: Rule, value: DataRecordValue) => TestResult;