import { Result } from 'ts-data-forge';
import { type Type } from '../type.mjs';
import { type ValidationError } from '../utils/index.mjs';
/**
* Validates each element of `a` against `elementType`, collecting any element
* errors with their index prepended. Shared by the length-constrained array
* validators.
*
* @internal Not part of the public package API.
*/
export declare const validateElements: (a: readonly unknown[], elementType: Type) => Result;
/**
* Assembles a structural `Type` from the length-specific pieces
* (`typeName` / `getDefaultValue` / `validate` / `fill`). Shared internally by
* the length-constrained array validators (`fixedLengthArray` etc.) and the
* `nonEmptyArray` validator; their outer signatures narrow the structural
* result to the branded array type.
*
* @internal Not part of the public package API.
*/
export declare const buildType: ({ typeName, getDefaultValue, validate, fill, elementType, }: Readonly<{
typeName: string;
getDefaultValue: () => readonly Elm[];
validate: (a: unknown) => Result;
fill: (a: unknown) => readonly Elm[];
elementType: Type;
}>) => Type;
//# sourceMappingURL=build-type.d.mts.map