import React 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;
    filter?: (options: {
        collection: Collection;
        associationField: CollectionFieldOptions;
    }) => boolean;
    filterDataSource?: (dataSource: DataSource) => boolean;
    componentType: string;
    onlyCurrentDataSource?: boolean;
    hideSearch?: boolean;
    showAssociationFields?: boolean;
    /** 如果只有一项数据表时，不显示 children 列表 */
    hideChildrenIfSingleCollection?: boolean;
    items?: ReturnType<typeof useCollectionDataSourceItems>[];
    /**
     * 是否是点击弹窗中的 Others 选项进入的
     */
    fromOthersInPopup?: boolean;
    /**
     * 隐藏弹窗中的 Other records 选项
     */
    hideOtherRecordsInPopup?: boolean;
}
export declare const DataBlockInitializer: (props: DataBlockInitializerProps) => React.JSX.Element;
