import type { JSONSchemaObject } from "@vertesia/common";
import { ComponentType, ReactNode } from "react";
import { InputComponentProps } from "./FormContext.js";
import { ManagedObject, ManagedProperty, Node } from "./ManagedObject.js";
interface FormProps {
    object: ManagedObject;
    components?: Record<string, ComponentType<InputComponentProps>>;
    children?: ReactNode | ReactNode[];
    onSubmit?: (data: JSONSchemaObject) => void;
    onChange?: (prop: Node) => void;
    disabled?: boolean;
}
export declare function Form({ object, components, onSubmit, children, onChange, disabled }: FormProps): import("react/jsx-runtime").JSX.Element;
export declare function GeneratedForm({ children, ...props }: FormProps): import("react/jsx-runtime").JSX.Element;
interface ScalarFieldProps {
    object: ManagedProperty;
    inline?: boolean;
    editor?: string;
}
export declare function ScalarField({ object, editor, inline }: ScalarFieldProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=Form.d.ts.map