import type { UiSchemaAttributeRegistry } from "../attribute-registry.js"; import type { UiSchemaObject } from "../types.js"; import { UiCustomAttributeCollection } from "./custom-attributes.js"; import type { UiSchemaFactory } from "./factory.js"; import { UiElement } from "./node.js"; import type { UiElementVisitor } from "./visitor.js"; /** * JSON Forms Control. Nested item/object UI lives in `options.detail` * (@see https://jsonforms.io/docs/uischema/controls/#detail). */ export declare class Control extends UiElement { private _scope; private _label?; readonly elementKind: "Control"; private _detail?; constructor(_scope: string, _label?: string | undefined, registry?: UiSchemaAttributeRegistry, customAttributes?: UiCustomAttributeCollection); get scope(): string; set scope(value: string); get label(): string | undefined; set label(value: string | undefined); /** Nested UI Schema from `options.detail` (object form; `"GENERATE"` is ignored). */ get detail(): UiElement | undefined; set detail(value: UiElement | undefined); static fromJSON(json: UiSchemaObject, factory: UiSchemaFactory): Control; accept(visitor: UiElementVisitor): T; deepClone(): Control; protected writeElementDefinition(json: UiSchemaObject): void; protected writeOptionsTo(json: UiSchemaObject): void; protected copyElementStateTo(target: UiElement): void; } //# sourceMappingURL=control.d.ts.map