/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import React, { FC } from 'react';
import { DataSource } from '../../data-source';
import { Collection, CollectionFieldOptions } from '../../data-source/collection/Collection';
import { useCollectionDataSourceItems } from '../utils';
export declare const SearchCollections: ({ value: outValue, onChange }: {
    value: any;
    onChange: any;
}) => React.JSX.Element;
export declare function useMenuSearch({ data, openKeys, showType, hideSearch, }: {
    data: any[];
    openKeys: string[];
    showType?: boolean;
    hideSearch?: boolean;
}): any[];
export interface DataBlockInitializerProps {
    templateWrap?: (templateSchema: any, { item, fromOthersInPopup, }: {
        item: any;
        fromOthersInPopup?: boolean;
    }) => any;
    onCreateBlockSchema?: (args: any) => void;
    createBlockSchema?: (args: any) => any;
    icon?: string | React.ReactNode;
    name: string;
    title: string;
    /**
     * 用来筛选弹窗中的 “Current record” 和 “Associated records” 选项中的数据表
     */
    filter?: (options: {
        collection: Collection;
        associationField: CollectionFieldOptions;
    }) => boolean;
    filterDataSource?: (dataSource: DataSource) => boolean;
    /**
     * 用来筛选弹窗中的 “Other records” 选项中的数据表
     */
    filterOtherRecordsCollection?: (collection: Collection) => boolean;
    componentType: string;
    onlyCurrentDataSource?: boolean;
    hideSearch?: boolean;
    showAssociationFields?: boolean;
    /** 如果只有一项数据表时，不显示 children 列表 */
    hideChildrenIfSingleCollection?: boolean;
    items?: ReturnType<typeof useCollectionDataSourceItems>[];
    /**
     * 隐藏弹窗中的 Other records 选项
     */
    hideOtherRecordsInPopup?: boolean;
    onClick?: (args: any) => void;
    /** 用于更改 Current record 的文案 */
    currentText?: string;
    /** 用于更改 Other records 的文案 */
    otherText?: string;
    children?: React.ReactNode;
    alwaysRenderMenu?: boolean;
}
export declare const DataBlockInitializer: FC<DataBlockInitializerProps>;
