import React from 'react';
import { Collection, CollectionFieldOptions } from '../../../../data-source/collection/Collection';
export declare const FormBlockInitializer: ({ filterCollections, onlyCurrentDataSource, hideSearch, createBlockSchema, componentType, templateWrap: customizeTemplateWrap, showAssociationFields, hideChildrenIfSingleCollection, hideOtherRecordsInPopup, currentText, otherText, }: {
    filterCollections: (options: {
        collection?: Collection;
        associationField?: CollectionFieldOptions;
    }) => boolean;
    onlyCurrentDataSource: boolean;
    hideSearch?: boolean;
    createBlockSchema?: (options: any) => any;
    /**
     * 虽然这里的命名现在看起来比较奇怪，但为了兼容旧版本的 template，暂时保留这个命名。
     */
    componentType?: "FormItem";
    templateWrap?: (templateSchema: any, { item, }: {
        item: any;
    }) => any;
    showAssociationFields?: boolean;
    hideChildrenIfSingleCollection?: boolean;
    /**
     * 隐藏弹窗中的 Other records 选项
     */
    hideOtherRecordsInPopup?: boolean;
    /** 用于更改 Current record 的文案 */
    currentText?: string;
    /** 用于更改 Other records 的文案 */
    otherText?: string;
}) => React.JSX.Element;
export declare const useCreateFormBlock: () => {
    createFormBlock: ({ item, fromOthersInPopup }: {
        item: any;
        fromOthersInPopup: any;
    }) => void;
    templateWrap: (templateSchema: any, { item }: {
        item: any;
    }) => import("packages/schema/lib").Stringify<{
        [key: symbol]: any;
        [key: `x-${string}`]: any;
        [key: `x-${number}`]: any;
        version?: string;
        name?: import("packages/schema/lib").SchemaKey;
        title?: any;
        description?: any;
        default?: any;
        readOnly?: boolean;
        writeOnly?: boolean;
        type?: import("packages/schema/lib").SchemaTypes;
        enum?: import("packages/schema/lib").SchemaEnum<any>;
        const?: any;
        multipleOf?: number;
        maximum?: number;
        exclusiveMaximum?: number;
        minimum?: number;
        exclusiveMinimum?: number;
        maxLength?: number;
        minLength?: number;
        pattern?: string | RegExp;
        maxItems?: number;
        minItems?: number;
        uniqueItems?: boolean;
        maxProperties?: number;
        minProperties?: number;
        required?: string[] | boolean | string;
        format?: string;
        $ref?: string;
        $namespace?: string;
        definitions?: import("packages/schema/lib").SchemaProperties<any, any, any, any, any, any, any, any>;
        properties?: import("packages/schema/lib").SchemaProperties<any, any, any, any, any, any, any, any>;
        items?: import("packages/schema/lib").SchemaItems<any, any, any, any, any, any, any, any>;
        additionalItems?: import("packages/schema/lib").Stringify</*elided*/ any>;
        patternProperties?: import("packages/schema/lib").SchemaProperties<any, any, any, any, any, any, any, any>;
        additionalProperties?: import("packages/schema/lib").Stringify</*elided*/ any>;
        "x-value"?: any;
        "x-index"?: number;
        "x-pattern"?: any;
        "x-display"?: any;
        "x-validator"?: any;
        "x-decorator"?: any;
        "x-decorator-props"?: any;
        "x-component"?: any;
        "x-component-props"?: any;
        "x-reactions"?: import("packages/schema/lib").SchemaReactions<any>;
        "x-content"?: any;
        "x-data"?: any;
        "x-visible"?: boolean;
        "x-hidden"?: boolean;
        "x-disabled"?: boolean;
        "x-editable"?: boolean;
        "x-read-only"?: boolean;
        "x-read-pretty"?: boolean;
        "x-compile-omitted"?: string[];
    }>;
};
