import { Schema } from "@fncts/schema/Schema/definition";
import { Maybe } from "@fncts/base/data/Maybe/definition";
import { Parser } from "@fncts/schema/Parser/definition";
import type { Check } from "@fncts/typelevel";
/**
* @tsplus static fncts.schema.SchemaOps maybe
* @tsplus getter fncts.schema.Schema maybe
* @tsplus location "@fncts/schema/Schema/api/maybe"
*/
export declare function maybe(value: Schema): Schema>;
/**
* @tsplus static fncts.schema.SchemaOps maybeFromNullable
* @tsplus getter fncts.schema.Schema maybeFromNullable
* @tsplus location "@fncts/schema/Schema/api/maybe"
*/
export declare function maybeFromNullable(value: Schema): Schema>;
/**
* @tsplus derive fncts.schema.Schema[fncts.Maybe]<_> 10
* @tsplus location "@fncts/schema/Schema/api/maybe"
*/
export declare function deriveMaybe>(...[value]: [A] extends [Maybe] ? Check>> extends Check.True ? [value: Schema<_A>] : never : never): Schema;