import { FormControl } from "@angular/forms"; import * as t from "io-ts"; import { DateFromISOStringType, OptionFromNullableType } from "io-ts-types"; import { Option } from "fp-ts/lib/Option"; import { IoFormArray } from "./io-form-array.class"; import { IoFormGroup } from "./io-form-group.class"; export declare class DateFromDatelike extends t.Type { readonly _tag = "DateFromDatelike"; constructor(); } export declare class OptionFromOptionalType extends t.Type { readonly type: C; readonly _tag: "OptionFromOptionalType"; constructor(name: string, is: OptionFromOptionalType["is"], validate: OptionFromOptionalType["validate"], serialize: OptionFromOptionalType["encode"], type: C); } export interface OptionFromOptional extends OptionFromOptionalType>, t.OutputOf | null, unknown> { } /** * Factory function for OptionFromOptionalType * * @since 0.1.0 */ export declare const createOptionFromOptional: (codec: C, _name?: string) => OptionFromOptional; /** * Enumeration io-ts Type * * @since 0.1.0 */ export declare class EnumType extends t.Type { readonly _tag: "EnumType"; enumObject: object; constructor(e: object, name?: string); } /** * Factory for EnumType * * @since 0.1.0 */ export declare const createEnumType: (e: object, name?: string) => EnumType; export declare type Control = t.StringType | t.NumberType | t.BooleanType | t.KeyofType> | EnumType | DateFromISOStringType | DateFromDatelike; export declare type Array = t.ArrayType; export declare type Pass = OptionFromNullableType | OptionFromOptionalType; export declare type Group = t.InterfaceType<{ [key: string]: Control | Group | Array | Pass; }>; export declare type IO = Control | Array | Pass | Group; export declare type Container = Group | Array; export declare const ioToForm: (io: DateFromDatelike | t.StringType | t.NumberType | t.BooleanType | t.KeyofType> | EnumType | DateFromISOStringType | Group | Array | OptionFromNullableType> | EnumType | DateFromISOStringType | Group | Array, any, any, unknown> | OptionFromOptionalType> | EnumType | DateFromISOStringType | Group | Array, any, any, unknown>) => IoFormArray | FormControl | IoFormGroup;