import type { JsonSchema } from "@jsonforms/core";
import type { UISchemaElement } from "@jsonforms/core/src/models/uischema";
import type { JsonFormsInterface } from "../../../models";
import type { ToolContext } from "../../index";
export declare const schemaKeys: ("title" | "description")[];
export declare const uischemaKeys: ("label" | "i18n")[];
export declare const prepareOptionData: (context: ToolContext, schema: JsonSchema, uischema: UISchemaElement | any) => Record<string, any>;
export declare const setOptionData: (schema: JsonSchema, uischema: UISchemaElement | any, data: Record<string, any>) => void;
export declare const schema: {
    type: string;
    properties: {
        labelAndI18n: {
            type: string;
            properties: {
                _type: {
                    type: string;
                };
                label: {
                    type: string;
                };
                title: {
                    type: string;
                    description: string;
                };
                description: {
                    type: string;
                };
                i18n: {
                    type: string;
                    title: string;
                    description: string;
                };
                options: {
                    type: string;
                    properties: {
                        showUnfocusedDescription: {
                            type: string;
                        };
                    };
                };
            };
        };
    };
};
export declare const uischema: {
    type: string;
    elements: ({
        type: string;
        elements: {
            scope: string;
            type: string;
        }[];
        scope?: undefined;
        rule?: undefined;
    } | {
        type: string;
        elements: ({
            scope: string;
            type: string;
            options: {
                multi: boolean;
            };
            rule: {
                effect: string;
                condition: {
                    type: string;
                    conditions: ({
                        scope: string;
                        schema: {
                            const: boolean;
                            enum?: undefined;
                        };
                    } | {
                        scope: string;
                        schema: {
                            enum: string[];
                            const?: undefined;
                        };
                    })[];
                    scope?: undefined;
                    schema?: undefined;
                };
            };
        } | {
            scope: string;
            type: string;
            rule: {
                effect: string;
                condition: {
                    scope: string;
                    schema: {
                        const: string;
                    };
                    type?: undefined;
                    conditions?: undefined;
                };
            };
            options?: undefined;
        })[];
        scope?: undefined;
        rule?: undefined;
    } | {
        scope: string;
        type: string;
        elements?: undefined;
        rule?: undefined;
    } | {
        scope: string;
        type: string;
        rule: {
            effect: string;
            condition: {};
        };
        elements?: undefined;
    })[];
};
export declare const uischemaDescriptionOnly: {
    type: string;
    elements: ({
        scope: string;
        type: string;
        options?: undefined;
    } | {
        scope: string;
        type: string;
        options: {
            multi: boolean;
        };
    })[];
};
export declare const uischemaNoDescription: {
    type: string;
    elements: ({
        type: string;
        elements: {
            scope: string;
            type: string;
        }[];
        scope?: undefined;
    } | {
        scope: string;
        type: string;
        elements?: undefined;
    })[];
};
export declare const jsonForms: JsonFormsInterface;
