import { HasTag, InferKind, SomeSpec, Spec, SpecsTags, SpecSuccess, SpectypesError } from './types.js'; /** * Creates a union validator spec. * * @param specs Specs to validate union cases */ export declare const union: (...specs: Specs & { readonly [Index in keyof Specs]: Specs[Index] extends Spec ? HasTag extends true ? SpectypesError<'optional', 'union'> : HasTag extends true ? SpectypesError<'filter', 'union'> : HasTag extends true ? SpectypesError<'unknown', 'union'> : HasTag extends true ? SpectypesError<'union', 'union'> : HasTag extends true ? SpectypesError<'lazy', 'union'> : Specs[Index] : never; }) => Spec<[ 'union', ...SpecsTags ], InferKind, { readonly [Index in keyof Specs]: Specs[Index] extends Spec ? SpecSuccess : never; }[number]>;