/** * A base `Schemable` built with a type arity of two to support Encoder. * * @since 1.0.0 */ import { HKT2, Kind2, URIS2 } from 'fp-ts/HKT'; import { Literal } from 'io-ts/Schemable'; declare type Any = any; declare type AofHKT2 = [X] extends [HKT2] ? A : never; declare type EofHKT2 = [X] extends [HKT2] ? E : never; declare type AofKind2 = [X] extends [Kind2] ? A : never; declare type EofKind2 = [X] extends [Kind2] ? E : never; declare type EnsureTagHKT2 = { [K in keyof M]: HKT2; }; declare type EnsureTagKind2 = { [K in keyof M]: Kind2; }; /** * A base `Schemable` built with a type arity of two to support Encoder. * * @since 1.0.0 */ export interface SchemableHKT2 { readonly URI: S; readonly literal: ], L extends Literal = Literal>(...values: A) => HKT2; readonly string: HKT2; readonly number: HKT2; readonly boolean: HKT2; readonly nullable: (or: HKT2) => HKT2; readonly struct: >>(properties: Properties) => HKT2; }, { [K in keyof Properties]: AofHKT2; }>; readonly partial: >>(properties: Properties) => HKT2; }>, Partial<{ [K in keyof Properties]: AofHKT2; }>>; readonly record: (codomain: HKT2) => HKT2, Record>; readonly array: (item: HKT2) => HKT2, Array>; readonly tuple: >>(...components: Components) => HKT2; }, { [K in keyof Components]: AofHKT2; }>; readonly intersect: (right: HKT2) => (left: HKT2) => HKT2; readonly sum: (tag: T) => >>(members: EnsureTagHKT2 & Members) => HKT2; }[keyof Members], { [K in keyof Members]: AofHKT2; }[keyof Members]>; readonly lazy: (id: string, f: () => HKT2) => HKT2; readonly readonly: (soa: HKT2) => HKT2>; } /** * A base `Schemable` built with a type arity of two to support Encoder. * * @since 1.0.0 */ export interface Schemable2 { readonly URI: S; readonly literal: ], L extends Literal = Literal>(...values: A) => Kind2; readonly string: Kind2; readonly number: Kind2; readonly boolean: Kind2; readonly nullable: (or: Kind2) => Kind2; readonly struct: >>(properties: Properties) => Kind2; }, { [K in keyof Properties]: AofKind2; }>; readonly partial: >>(properties: Properties) => Kind2; }>, Partial<{ [K in keyof Properties]: AofKind2; }>>; readonly record: (codomain: Kind2) => Kind2, Record>; readonly array: (item: Kind2) => Kind2, Array>; readonly tuple: >>(...components: Components) => Kind2; }, { [K in keyof Components]: AofKind2; }>; readonly intersect: (right: Kind2) => (left: Kind2) => Kind2; readonly sum: (tag: T) => >>(members: EnsureTagKind2 & Members) => Kind2; }[keyof Members], { [K in keyof Members]: AofKind2; }[keyof Members]>; readonly lazy: (id: string, f: () => Kind2) => Kind2; readonly readonly: (soa: Kind2) => Kind2>; } export {}; //# sourceMappingURL=SchemableBase.d.ts.map