import type { Encoder, OutputOf, TypeOf } from "./model"; export declare const nullable: (or: Encoder) => Encoder; export declare const type:

>>( properties: P ) => Encoder<{ [K in keyof P]: OutputOf }, { [K_1 in keyof P]: TypeOf }>; export declare const partial:

>>( properties: P ) => Encoder }>, Partial<{ [K_1 in keyof P]: TypeOf }>>; export declare const record: (codomain: Encoder) => Encoder, Record>; export declare const array: (item: Encoder) => Encoder; export declare const tuple: []>( ...components: C ) => Encoder<{ [K in keyof C]: OutputOf }, { [K_1 in keyof C]: TypeOf }>; export declare const intersect: (right: Encoder) => (left: Encoder) => Encoder; export declare const sum_: >>( tag: T, members: MS ) => Encoder, TypeOf>; export declare const sum: ( tag: T ) => >>( members: MS ) => Encoder, TypeOf>; export declare const lazy: (f: () => Encoder) => Encoder; export declare const contramap_: (fa: Encoder, f: (b: B) => A) => Encoder; export declare const contramap: (f: (b: B) => A) => (fa: Encoder) => Encoder; export declare const compose_: (ab: Encoder, ea: Encoder) => Encoder; export declare const compose: (ea: Encoder) => (ab: Encoder) => Encoder; export declare const id: () => Encoder; //# sourceMappingURL=combinators.d.ts.map