/** * Enforce a minimum length on an array field. * * Validates that an array contains at least the specified number of elements. * * @example * vine.array(vine.string()).minLength(2) */ export declare const minLengthRule: (options: { min: number; }) => import("../../types.ts").Validation<{ min: number; }>; /** * Enforce a maximum length on an array field. * * Validates that an array contains at most the specified number of elements. * * @example * vine.array(vine.string()).maxLength(10) */ export declare const maxLengthRule: (options: { max: number; }) => import("../../types.ts").Validation<{ max: number; }>; /** * Enforce a fixed length on an array field. * * Validates that an array contains exactly the specified number of elements. * * @example * vine.array(vine.string()).fixedLength(5) */ export declare const fixedLengthRule: (options: { size: number; }) => import("../../types.ts").Validation<{ size: number; }>; /** * Ensure the array is not empty. * * Validates that an array contains at least one element. * * @example * vine.array(vine.string()).notEmpty() */ export declare const notEmptyRule: (options?: undefined) => import("../../types.ts").Validation; /** * Ensure array elements are distinct/unique. * * For primitive arrays, validates that all elements are unique. * For object arrays, validates uniqueness based on specified field(s). * * @example * // Validate primitive array uniqueness * vine.array(vine.string()).distinct() * * @example * // Validate object array uniqueness by field * vine.array(vine.object({ id: vine.number() })).distinct('id') * * @example * // Validate object array uniqueness by multiple fields * vine.array(vine.object({ * name: vine.string(), * email: vine.string() * })).distinct(['name', 'email']) */ export declare const distinctRule: (options: { fields?: string | string[]; }) => import("../../types.ts").Validation<{ fields?: string | string[]; }>; /** * Removes empty strings, null and undefined values from the array. * * This rule mutates the array by filtering out falsy values and empty strings. * It does not fail validation but transforms the input by removing unwanted values. * * @example * vine.array(vine.string()).compact() * // Input: ['a', '', null, 'b', undefined] * // Output: ['a', 'b'] */ export declare const compactRule: (options?: undefined) => import("../../types.ts").Validation;