import { type Schema } from 'schemata-ts/Schema'; /** * Represents a typeclass and data-type that narrows an unknown value to a specific type * * @since 2.0.0 * @category Model */ export interface Guard { readonly is: (u: unknown) => u is A; } /** * Constructs a guard from predicate function * * @since 2.0.0 * @category Constructors */ export declare const fromPredicate: (predicate: (u: unknown) => u is A) => Guard; export { /** * Interprets a schema as a guard for the `Output` type * * @since 2.0.0 * @category Interpreters */ deriveGuard, } from 'schemata-ts/derivations/guard-schemable'; /** * Interprets a schema as a guard for the `Input` type * * @since 2.1.0 * @category Interpreters */ export declare const deriveInputGuard: (schema: Schema) => Guard; /** * @since 2.0.0 * @category URI */ export declare const URI = "schemata-ts/Guard"; /** * @since 2.0.0 * @category URI */ export type URI = typeof URI; declare module 'fp-ts/lib/HKT' { interface URItoKind { readonly [URI]: Guard; } } //# sourceMappingURL=Guard.d.ts.map