import type { JsonSchema } from "@jsonforms/core";
import type { JsonFormsInterface, ToolContext, ToolInterface } from "./index";
import { AbstractTool } from "./AbstractTool";
export declare class CombinatorTool extends AbstractTool implements ToolInterface {
    importer: () => import("vue").DefineComponent<{}, {
        $props: {
            readonly isToolbar?: boolean;
            readonly isInlineType?: boolean;
            readonly isRoot?: boolean;
            readonly index?: number;
            readonly tool?: Record<string, any>;
        };
        $emit: (event: "deleteByIndex", ...args: any[]) => void;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
    tester: (uischema: import("@jsonforms/core").UISchemaElement, schema: JsonSchema, context: import("@jsonforms/core").TesterContext) => number;
    clone: () => ToolInterface;
    constructor(uischemaType?: string);
    optionDataPrepare(context: ToolContext): Record<string, any>;
    optionDataUpdate(context: ToolContext, data: Record<string, any>): void;
    optionJsonforms(context: ToolContext): Promise<JsonFormsInterface | undefined>;
    static getKeyword(schema: JsonSchema): 'oneOf' | 'allOf' | 'anyOf' | string | undefined;
    static getKeywordSchemas(schema: JsonSchema): JsonSchema[] | undefined;
    toolbarOptions(): Record<string, any>;
}
export declare const combinatorTool: CombinatorTool;
