import { type StandardSchemaV1 } from "../../Validate/standardSchema"; import type { ValidateCoreReturnType, ValidateType } from "../../Validate/type"; export type IntersectionExtractValidatedType = V extends (value: never) => { type: infer T; } ? ValidateType : never; export type IntersectValidatedTypes = Vs extends readonly [ infer Head, ...infer Tail ] ? IntersectionExtractValidatedType & IntersectValidatedTypes : unknown; /** * Creates an intersection validator that passes only if all given validators pass * @param validators - Validator functions to compose as an intersection (logical AND) * @returns {Function} - Validator that checks if the value matches all validators */ export declare const intersection: ValidateCoreReturnType)[]>(...validators: [...Vs]) => ((value: IntersectValidatedTypes) => ValidateCoreReturnType>) & StandardSchemaV1, IntersectValidatedTypes>;