import type { Schema } from "effect"; import { Context, Layer, Option } from "effect"; import type React from "react"; import { FormFramework } from "./FormFramework.js"; import type { Path } from "./Path.js"; export declare const NoDefaultValue: unique symbol; type NoDefaultValue = typeof NoDefaultValue; declare class FormFieldClass, S extends Schema.Schema.AnyNoContext> { readonly tag: Context.Tag>; readonly schema: S; readonly defaultValue: S["Encoded"] | NoDefaultValue; private constructor(); static withDefaultValue: , S_1 extends Schema.Schema.AnyNoContext>(tag: Context.Tag>, schema: S_1, defaultValue: S_1["Encoded"] | NoDefaultValue) => FormFieldClass; static withoutDefaultValue: , S_1 extends Schema.Schema.AnyNoContext>(tag: Context.Tag>, schema: S_1) => FormFieldClass; decorate(): FormFieldClass; getDefaultValue(): Option.Option; matchDefaultValue({ withDefaultValue, withoutDefaultValue }: { withDefaultValue: (value: S["Encoded"]) => void; withoutDefaultValue?: () => void; }): void; } export interface ComponentBuilder> { (_: { path: Path; }): A; } export type OfProps = FormFieldClass, Schema.Schema.AnyNoContext>; export type Any = FormFieldClass, Schema.Schema.AnyNoContext>; export declare const FormField: (id: Id) => = React.FC, S_ extends Schema.Schema.AnyNoContext = Schema.Schema.AnyNoContext>() => Context.TagClass> & { make: (props: { schema: S; defaultValue: S["Encoded"]; }) => FormFieldClass; makeRequired: (props: { schema: S; }) => FormFieldClass; layerUncontrolled: (component: A) => Layer.Layer; layerControlled: (component: A) => Layer.Layer; }; export {}; //# sourceMappingURL=FormField.d.ts.map