import type { ToolFinderInterface, ToolInterface } from "./models";
import type { JsonSchema, Scoped, UISchemaElement } from "@jsonforms/core";
import type { ControlElement, Layout } from "@jsonforms/core";
import { TypedTools } from "./models";
export declare class ToolFinder implements ToolFinderInterface {
    private readonly _tools;
    constructor(tools: ToolInterface[]);
    get tools(): ToolInterface[];
    findLayoutToolByUiType: (uiType: string) => ToolInterface | undefined;
    findMatchingToolAndClone: (schema: JsonSchema, itemSchema: JsonSchema, itemUischema: any, propertyName?: string, fromTools?: ToolInterface[]) => ToolInterface;
    findMatchingTool: (schema: any, itemSchema: JsonSchema, itemUischema: any, fromTools?: ToolInterface[]) => ToolInterface;
    guessType(schema: JsonSchema): string | undefined;
    findBaseTool(schema: JsonSchema, uischema: ControlElement | Layout | UISchemaElement | Scoped | any): ToolInterface;
    findReadonlyTools(schema: JsonSchema): ToolInterface[];
    getTypedTools(): TypedTools;
}
