import { Option } from 'literium-base'; import { Type, TypeConv, Result } from './types'; export declare const str: Type; export declare const num: Type; export declare const bin: Type; export declare const und: Type; export declare const fin: Type; export declare const pos: Type; export declare const neg: Type; export declare const int: Type; export declare const nat: Type; export declare const date_msec: Type; export declare const date_unix: Type; export declare function regex(re: RegExp, cause?: string): TypeConv; export declare function list(t: Type): Type; export declare function len>(min: Option, max: Option): TypeConv; export declare type Dict = { [Tag in keyof T]: Type; }; export declare function dict(t: Dict): Type; export declare function mix(t1: Type): Type; export declare function mix(t1: Type, t2: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type, t4: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type, t8: Type): Type; export declare function mix(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type, t8: Type, t9: Type): Type; export declare function tup(t1: Type): Type<[T1]>; export declare function tup(t1: Type, t2: Type): Type<[T1, T2]>; export declare function tup(t1: Type, t2: Type, t3: Type): Type<[T1, T2, T3]>; export declare function tup(t1: Type, t2: Type, t3: Type, t4: Type): Type<[T1, T2, T3, T4]>; export declare function tup(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type): Type<[T1, T2, T3, T4, T5]>; export declare function tup(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type): Type<[T1, T2, T3, T4, T5, T6]>; export declare function tup(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type): Type<[T1, T2, T3, T4, T5, T6, T7]>; export declare function tup(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type, t8: Type): Type<[T1, T2, T3, T4, T5, T6, T7, T8]>; export declare function tup(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type, t8: Type, t9: Type): Type<[T1, T2, T3, T4, T5, T6, T7, T8, T9]>; export declare function opt(t: Type): Type; export declare function val(d: T): Type; export declare function def(d: T): TypeConv; export declare function map(p: (v: T) => R, b: (v: R) => T): TypeConv; export declare function then(p: (v: T) => Result, b: (v: R) => Result): TypeConv; export declare function chain(t: Type): TypeConv; export declare function option(t: Type): Type>; export declare function unless(fn: () => Result): TypeConv; export declare function alt(t1: Type, t2: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type, t4: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type, t8: Type): Type; export declare function alt(t1: Type, t2: Type, t3: Type, t4: Type, t5: Type, t6: Type, t7: Type, t8: Type, t9: Type): Type; export declare function parse_js(parser: Type): (raw: any) => Result; export declare function parse(parser: Type): (str: string) => Result; export declare function build_js(parser: Type): (data: T) => Result; export declare function build(builder: Type): (data: T) => Result;