/// <reference types="urijs" />
import type { ToolInterface, JsonFormsInterface } from "./models";
import type { ControlElement, Layout } from "@jsonforms/core";
import type { JsonSchema, UISchemaElement } from "@jsonforms/core";
import { JsonFormsRendererRegistryEntry, RankedTester } from "@jsonforms/core";
/** @deprecated **/
export declare const updatePropertyNameAndScope: (propertyName: string | undefined, tool: ToolInterface) => string;
/** @deprecated **/
export declare const getItemsType: (schema: JsonSchema) => string | undefined;
export declare const createI18nTranslate: (localeCatalogue: Record<string, string>) => (key: string, defaultMessage: string, context: any) => string;
export declare const findAllProperties: (schema: JsonSchema, rootPath?: string) => Record<string, JsonSchema>;
export declare const findAllScopes: (uischema: ControlElement | Layout | UISchemaElement) => Array<string>;
export declare const findAllScopeTools: (uitool: ToolInterface, tools?: ToolInterface[]) => ToolInterface[];
type Callback = (ref: URI) => JsonSchema | undefined;
export declare const resolveSchema: (schema: any, callback?: Callback | undefined) => Promise<any>;
export declare const createResolvedJsonForms: (schemas: Promise<any>[]) => Promise<JsonFormsInterface>;
export declare const confirmAndRemoveChild: (parentTool: ToolInterface, toolToDelete: ToolInterface, fb?: any) => Promise<{
    removed: {
        element: ToolInterface;
        unscope?: boolean;
    };
}>;
export declare const createDialog: () => HTMLDialogElement;
export declare const showDialog: (callback: any) => void;
export declare const bindDialogComponent: (dialog: HTMLDialogElement, component: any, args: any) => void;
export declare const findDialogOpenElements: () => HTMLDialogElement[];
export declare const deleteToolInChilds: (toolToDelete?: ToolInterface | undefined, childTools?: ToolInterface[]) => Promise<ToolInterface[] | boolean>;
export declare const prepareAndCallOnDropAreaChange: (e: any, tool: ToolInterface, childs: ToolInterface[], onDropAreaChanged: any) => void;
export declare const findUnscopedTools: (baseSchemaTool: ToolInterface) => ToolInterface[];
export declare const createEntryByModule: (module: any) => JsonFormsRendererRegistryEntry;
export declare const createEntry: (renderer: any, tester: RankedTester) => JsonFormsRendererRegistryEntry;
export {};
