/** * The string field renderer. A plain string renders as a text input (its * `type` derived from any JSON-Schema `format`); an expression-annotated schema * renders the INJECTED expression door (a resting textarea with the visual-editor * button) when the host supplies one; a media-annotated schema renders the upload * control instead; and when the form supplies a completion provider, the input is * backed by argument autocomplete. * * NO JQ EDGE. This module — and every module under `schema-form`, and the package * barrel above them — names no jq type and imports `@tai42/jq-studio` neither * statically NOR dynamically. * The jq authoring door drags a heavy subgraph (the xyflow visual editor, a Web * Worker entry, and a multi-megabyte wasm engine), and a bundler EMITS that whole * subgraph for a dynamic import just as it does for a static one — `lazy` defers * the FETCH, never the emission. A consumer that bundles the SDK to render forms * would still ship the chunks, the worker file, and the wasm it can never run. * So the door arrives from the host instead, through * {@link ExpressionFieldContext} (or the form's `expressionField` prop), and an * annotated field with no injected door falls back to the plain string input. */ import type { ReactNode } from 'react'; import type { ExpressionAnnotation, MediaUpload } from './field-model'; export declare function StringField({ heading, description, error, format, media, expression, argName, value, required, onChange, }: { heading: string; description: string | undefined; error: string | undefined; format: string | undefined; media: MediaUpload | undefined; expression: ExpressionAnnotation | undefined; argName: string; value: unknown; required: boolean; onChange: (value: unknown) => void; }): ReactNode; //# sourceMappingURL=string-field.d.ts.map