import { type DecodeContext, type RTError, Type } from './type.js'; import { type Result } from './utils.js'; type ElementType> = T extends ReadonlyArray ? ElementType : never; export declare class UnionType> extends Type> { members: { [K in keyof T]: Type; }; constructor(members: { [K in keyof T]: Type; }); print(): string; decode(u: unknown, opts: DecodeContext): Result, RTError>; validate(v: ElementType, opts: DecodeContext): Promise, RTError>>; validateSync(v: ElementType, opts: DecodeContext): Result, RTError>; deepMap(fn: (t: Type) => Type): Type; } export declare function union>(...members: { [K in keyof T]: Type; }): Type>; export {};