import type { SchemaDefinition, SchemaValue } from '../schema.js'; import { type BooleanValue } from './boolean-value.js'; import { type NumberValue } from './number-value.js'; import { type StringValue } from './string-value.js'; import { type PrimitivesValues, type ValueConfig } from './value.js'; type RecordWithPrimitiveValues = Record; type ComplexRecord = Record; type RecordValueConfig = { options: ValueConfig; values: SchemaDefinition; }; export declare class RecordValue implements SchemaValue { private config; constructor(config?: Partial); validate(input: unknown): string | null; get default(): undefined; get required(): boolean; } export declare function isRecord(value: unknown): value is ComplexRecord; interface ArrayValueConfig extends ValueConfig { min?: number; max?: number; each?: BooleanValue | NumberValue | StringValue | RecordValue; } export declare class ArrayValue implements SchemaValue { private config; private value; constructor(config?: ArrayValueConfig); validate(input: T[] | undefined | null): string | null; private validatePrimitiveValue; get default(): undefined; get required(): boolean; } export declare function isArray(value: unknown): value is Array; export {};