import type { JsonObject } from "@bufbuild/protobuf";
import type { TaskFieldDescriptor, TaskFieldGroup } from "./types.js";
/** Props for {@link TaskConfigForm}. */
export interface TaskConfigFormProps {
    /** Ordered field descriptors from `TaskKindDescriptor.fields`. */
    readonly fields: readonly TaskFieldDescriptor[];
    /** Logical field groups for collapsible sections. */
    readonly fieldGroups: readonly TaskFieldGroup[];
    /** Current config object (source of truth from the graph node). */
    readonly config: JsonObject;
    /** Called when a field value changes. */
    readonly onChange: (fieldPath: string, value: unknown) => void;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * Schema-driven form generated from `TaskKindDescriptor.fields` and `fieldGroups`.
 *
 * Renders each field with the appropriate control based on its `TaskFieldType`:
 * text inputs, number inputs, toggles, selects, embedded YAML editors, and
 * list/map editors. Fields are organized into collapsible groups.
 *
 * Pure presentational — does not own state. Receives the current config
 * and reports changes via `onChange(fieldPath, value)`.
 *
 * @since T15 Batch 3 (Inspector + Edit Loop)
 */
export declare const TaskConfigForm: import("react").NamedExoticComponent<TaskConfigFormProps>;
//# sourceMappingURL=TaskConfigForm.d.ts.map