import { Refinement } from 'fp-ts/Refinement'; import { Literal, Schemable1, WithRefine1, WithUnion1 } from './Schemable'; /** * @category Model * @since 0.9.5 */ export interface Guard { is: (i: I) => i is A; } /** * @since 2.2.2 */ export declare type TypeOf = G extends Guard ? A : never; /** * @since 0.9.5 */ export declare type InputOf = G extends Guard ? I : never; /** * @category constructors * @since 0.9.5 */ export declare const literal: (...values: A) => Guard; /** * @category Decoder * @since 0.9.5 */ export declare const string: Guard; /** * Note: `NaN` is excluded. * * @category Decoder * @since 0.9.5 */ export declare const number: Guard; /** * @category Decoder * @since 0.9.5 */ export declare const boolean: Guard; /** * @category Decoder * @since 0.9.5 */ export declare const date: Guard; /** * @category Decoder * @since 0.9.5 */ export declare const unknownArray: Guard>; /** * @category Decoder * @since 0.9.5 */ export declare const unknownRecord: Guard>; /** * @category Combinator * @since 0.9.5 */ export declare const refine: (refinement: Refinement) => (from: Guard) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const nullable: (or: Guard) => Guard; /** * @category Combinator * @since 2.2.15 */ export declare const struct: (properties: { [K in keyof A]: Guard; }) => Guard; /** * Use `struct` instead. * * @category Combinator * @since 0.9.5 * @deprecated */ export declare const type: (properties: { [K in keyof A]: Guard; }) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const partial: (properties: { [K in keyof A]: Guard; }) => Guard>; /** * @category Combinator * @since 0.9.5 */ export declare const array: (item: Guard) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const record: (codomain: Guard) => Guard>; /** * @category Combinator * @since 0.9.5 */ export declare const tuple: (...components: { [K in keyof A]: Guard; }) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const intersect: (right: Guard) => (left: Guard) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const union: (second: Guard) => (first: Guard) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const sum: (tag: T) => (members: { [K in keyof A]: Guard>; }) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const lazy: (f: () => Guard) => Guard; /** * @category Combinator * @since 2.2.15 */ export declare const readonly: (guard: Guard) => Guard>; /** * @category Combinator * @since 0.9.5 */ export declare const alt: (that: () => Guard) => (me: Guard) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const zero: () => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const compose: (to: Guard) => (from: Guard) => Guard; /** * @category Combinator * @since 0.9.5 */ export declare const id: () => Guard; /** * @category instances * @since 0.9.5 */ export declare const URI = "@typed/fp/Guard"; /** * @category instances * @since 0.9.5 */ export declare type URI = typeof URI; declare module 'fp-ts/HKT' { interface URItoKind { readonly [URI]: Guard; } } /** * @category instances * @since 0.9.5 */ export declare const Schemable: Schemable1; /** * @category instances * @since 0.9.5 */ export declare const WithUnion: WithUnion1; /** * @category instances * @since 0.9.5 */ export declare const WithRefine: WithRefine1; //# sourceMappingURL=Guard.d.ts.map