import type { UnionToIntersection } from "@principia/prelude/Utils"; import type { Either } from "../Either"; import * as FS from "../FreeSemigroup"; import type { Refinement } from "../Function"; import * as K from "../KleisliDecoder"; import type { Option } from "../Option"; import type { ReadonlyRecord } from "../Record"; import type { DecodeError, ErrorInfo } from "./decode-error"; import * as DE from "./DecodeError"; import type { Decoder, InputOf, TypeOf } from "./model"; export declare const compose_: (from: Decoder, to: Decoder) => Decoder; export declare const compose: (to: Decoder) => (from: Decoder) => Decoder; export declare const mapLeftWithInput: ( f: (input: I, e: DecodeError) => DecodeError ) => (decoder: Decoder) => Decoder; export declare const mapLeftWithInput_: ( decoder: Decoder, f: (input: I, e: DecodeError) => DecodeError ) => Decoder; export declare const wrapInfo: (info?: ErrorInfo | undefined) => (decoder: Decoder) => Decoder; export declare const withMessage: ( message: (input: I, e: DecodeError) => string ) => (decoder: Decoder) => Decoder; export declare const refine: ( refinement: Refinement, name: string, info?: ErrorInfo | undefined ) => (from: Decoder) => Decoder; export declare const parse_: ( from: Decoder, parser: (a: A) => Either>, B>, name?: string | undefined ) => Decoder; export declare const parse: ( parser: (a: A) => Either>, B>, name?: string | undefined ) => (from: Decoder) => Decoder; export declare const nullable: ( info?: ErrorInfo ) => (or: Decoder) => Decoder; export declare const optional: ( info?: ErrorInfo | undefined ) => (or: Decoder) => Decoder>; export declare const fromType:

>>( properties: P, info?: ErrorInfo | undefined ) => Decoder<{ [K in keyof P]: K.InputOf<["Either"], P[K]> }, { [K_1 in keyof P]: K.TypeOf<["Either"], P[K_1]> }>; export declare const type:

>>( properties: P, info?: ErrorInfo | undefined ) => Decoder }>; export declare const fromPartial:

>>( properties: P, info?: ErrorInfo | undefined ) => Decoder< Partial<{ [K in keyof P]: K.InputOf<["Either"], P[K]> }>, Partial<{ [K_1 in keyof P]: K.TypeOf<["Either"], P[K_1]> }> >; export declare const partial: ( properties: { [K in keyof A]: Decoder }, info?: ErrorInfo | undefined ) => Decoder>; export declare const fromArray: ( item: Decoder, info?: ErrorInfo | undefined ) => Decoder; export declare const array: ( item: Decoder, info?: ErrorInfo | undefined ) => Decoder; export declare const fromRecord: ( codomain: Decoder, info?: ErrorInfo | undefined ) => Decoder>, Readonly>>; export declare const record: ( codomain: Decoder, info?: ErrorInfo | undefined ) => Decoder>; export declare const fromTuple: []>( ...components: C ) => ( info?: ErrorInfo | undefined ) => Decoder< [...{ [K in keyof C]: K.InputOf<["Either"], C[K]> }], [...{ [K_1 in keyof C]: K.TypeOf<["Either"], C[K_1]> }] >; export declare const tuple: ( ...components: { [K in keyof A]: Decoder } ) => (info?: ErrorInfo | undefined) => Decoder; export declare const union: ( info?: ErrorInfo | undefined ) => , ...Decoder[]]>( ...members: MS ) => Decoder, K.TypeOf<["Either"], MS[keyof MS]>>; export declare const intersect_: ( left: Decoder, right: Decoder, name?: string | undefined ) => Decoder; export declare const intersect: ( right: Decoder, name?: string | undefined ) => (left: Decoder) => Decoder; export declare const intersectAll: , Decoder, ...Decoder[]]>( decoders: A, name?: string | undefined ) => Decoder< UnionToIntersection<{ [K in keyof A]: K.InputOf<["Either"], A[K]> }[keyof A]>, UnionToIntersection<{ [K_1 in keyof A]: K.TypeOf<["Either"], A[K_1]> }[keyof A]> >; export declare const fromSum_: >>( tag: T, members: MS ) => Decoder, K.TypeOf<["Either"], MS[keyof MS]>>; export declare const fromSum: ( tag: T ) => >>( members: MS ) => Decoder, K.TypeOf<["Either"], MS[keyof MS]>>; export declare const sum_: ( tag: T, members: { [K in keyof A]: Decoder }, info?: ErrorInfo | undefined ) => Decoder; export declare const sum: ( tag: T, info?: ErrorInfo | undefined ) => (members: { [K in keyof A]: Decoder }) => Decoder; export declare const lazy: (id: string, f: () => Decoder, info?: ErrorInfo | undefined) => Decoder; export declare const map_: (fa: Decoder, f: (a: A) => B) => Decoder; export declare const map: (f: (a: A) => B) => (fa: Decoder) => Decoder; export declare const alt_: (me: Decoder, that: () => Decoder) => Decoder; export declare const alt: (that: () => Decoder) => (me: Decoder) => Decoder; export declare const id: () => Decoder; //# sourceMappingURL=combinators.d.ts.map