import { Renderable } from '@tempots/dom';
import { type Controller } from '../../form';
import type { SchemaContext, JSONSchemaDefinition } from '../schema-context';
/**
 * Generic control dispatcher that routes to appropriate control based on schema
 */
export declare function JSONSchemaGenericControl<T>({ ctx, controller, }: {
    ctx: SchemaContext;
    controller: Controller<T>;
}): Renderable;
/**
 * Main entry point for JSON Schema controls
 */
export declare function JSONSchemaControl<T>({ schema, controller, ajv, widgetRegistry, setStatus, formValue, validationMode, submitting, }: {
    schema: JSONSchemaDefinition;
    controller: Controller<T>;
    ajv?: import('ajv').default;
    widgetRegistry?: import('../widgets/widget-customization').WidgetRegistry;
    /** Function to set the form's validation status, available to custom widgets */
    setStatus?: (status: import('../../form').ControllerValidation) => void;
    /** Signal containing the entire form's current value */
    formValue?: import('@tempots/dom').Signal<unknown>;
    /** Current validation mode */
    validationMode?: import('../../form').ValidationMode;
    /** Signal indicating whether the form is currently submitting */
    submitting?: import('@tempots/dom').Signal<boolean>;
}): Renderable;
