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