import { type TUnreachable } from '../../../system/unreachable/index.mjs'; import { type TSchema } from '../../types/schema.mjs'; import { type TProperties } from '../../types/properties.mjs'; import { type TEvaluateUnion } from '../evaluate/evaluate.mjs'; import { type TFromType } from './from_type.mjs'; type TCollapseUnionProperties; }> = Result; type TReduceVariants = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReduceVariants>> : Result); export type TFromUnion = (Types extends [infer Left extends TSchema, ...infer Right extends TSchema[]] ? TReduceVariants> : TUnreachable); export declare function FromUnion(types: [...Types]): TFromUnion; export {};