import type { ReadonlyRecord } from "../Record"; import type { Guard } from "./Guard"; export declare const refine: ( refinement: (a: A) => a is B ) => (from: Guard) => Guard; export declare const nullable: (or: Guard) => Guard; export declare const type: ( properties: { [K in keyof A]: Guard } ) => Guard; export declare const partial: ( properties: { [K in keyof A]: Guard } ) => Guard>; export declare const array: (item: Guard) => Guard; export declare const record: (codomain: Guard) => Guard>>; export declare const tuple: ( ...components: { [K in keyof A]: Guard } ) => Guard; export declare const intersect: (right: Guard) => (left: Guard) => Guard; export declare const union: ( ...members: { [K in keyof A]: Guard } ) => Guard; export declare const sum: ( tag: T ) => (members: { [K in keyof A]: Guard }) => Guard; export declare const lazy: (f: () => Guard) => Guard; //# sourceMappingURL=combinators.d.ts.map