/** * @since 0.9.4 */ import { HKT, Kind, Kind2, URIS, URIS2 } from 'fp-ts/HKT'; import * as D from './Decoder'; import * as Eq from './Eq'; import * as G from './Guard'; import { Schemable, Schemable1, Schemable2C, WithRefine, WithRefine1, WithRefine2C, WithUnion, WithUnion1, WithUnion2C } from './Schemable'; /** * @category Model * @since 0.9.4 */ export interface Schema { (S: Schemable): HKT; } /** * @category Model * @since 0.9.5 */ export interface WithRefineSchema { (S: Schemable & WithRefine): HKT; } /** * @category Model * @since 0.9.5 */ export interface WithUnionSchema { (S: Schemable & WithUnion): HKT; } /** * @category Model * @since 0.9.5 */ export interface WithUnionRefineSchema { (S: Schemable & WithUnion & WithRefine): HKT; } /** * @category Constructor * @since 0.9.4 */ export declare function make(schema: Schema): Schema; /** * @category Constructor * @since 0.9.5 */ export declare function withRefine(schema: WithRefineSchema): WithRefineSchema; /** * @category Constructor * @since 0.9.5 */ export declare function withUnion(schema: WithUnionSchema): WithUnionSchema; /** * @category Constructor * @since 0.9.5 */ export declare function create(schema: WithUnionRefineSchema): WithUnionRefineSchema; /** * @since 0.9.4 * @category Type-level */ export declare type TypeOf = S extends Schema ? A : S extends WithRefineSchema ? A : S extends WithUnionSchema ? A : S extends WithUnionRefineSchema ? A : never; /** * @since 0.9.5 * @category Combinator */ export interface Interpret { (S: Schemable2C & WithRefine2C & WithUnion2C): (schema: WithUnionRefineSchema | WithUnionSchema | WithRefineSchema | Schema) => Kind2; (S: Schemable2C & WithRefine2C): (schema: WithRefineSchema | Schema) => Kind2; (S: Schemable2C & WithUnion2C): (schema: WithUnionSchema | Schema) => Kind2; (S: Schemable2C): (schema: Schema) => Kind2; (S: Schemable1 & WithRefine1 & WithUnion1): (schema: WithUnionRefineSchema | WithRefineSchema | WithUnionSchema | Schema) => Kind; (S: Schemable1 & WithRefine1): (schema: WithRefineSchema | Schema) => Kind; (S: Schemable1 & WithUnion1): (schema: WithUnionSchema | Schema) => Kind; (S: Schemable1): (schema: Schema) => Kind; } /** * @since 0.9.4 * @category Combinator */ export declare const interpret: Interpret; /** * @since 0.9.5 * @category Combinator */ export declare const toDecoder: (schema: WithUnionRefineSchema | WithUnionSchema | WithRefineSchema | Schema) => D.Decoder; /** * @since 0.9.5 * @category Combinator */ export declare const toEq: (schema: Schema) => Eq.Eq; /** * @since 0.9.5 * @category Combinator */ export declare const toGuard: (schema: WithUnionRefineSchema | WithRefineSchema | WithUnionSchema | Schema) => G.Guard; //# sourceMappingURL=Schema.d.ts.map