import { Schema } from '@tachybase/schema';
import { FilterTarget } from '../block-provider/hooks';
import { Collection_deprecated, CollectionFieldOptions_deprecated, FieldOptions, useCollection_deprecated } from '../collection-manager';
import { DataBlock } from './FilterProvider';
export declare enum FilterBlockType {
    FORM = 0,
    TABLE = 1,
    TREE = 2,
    COLLAPSE = 3
}
export declare const mergeFilter: (filters: any[], op?: string) => any;
export declare const getSupportFieldsByAssociation: (inheritCollectionsChain: string[], block: DataBlock) => CollectionFieldOptions_deprecated[];
export declare const getSupportFieldsByForeignKey: (filterBlockCollection: ReturnType<typeof useCollection_deprecated>, block: DataBlock) => import("./FilterProvider").ForeignKeyField[];
/**
 * 根据筛选卡片类型筛选出支持的数据卡片（同表或具有关系字段的表）
 * @param filterBlockType
 * @returns
 */
export declare const useSupportedBlocks: (filterBlockType: FilterBlockType) => DataBlock[];
export declare const transformToFilter: (values: Record<string, any>, fieldSchema: Schema, getCollectionJoinField: (name: string) => CollectionFieldOptions_deprecated, collectionName: string) => {
    $and: ({
        [x: string]: {
            $isTruly: boolean;
        };
    } | {
        [x: string]: {
            $isFalsy: boolean;
        };
    } | {
        [x: string]: {
            [x: number]: any;
        };
    })[];
};
export declare const useAssociatedFields: () => import("..").CollectionFieldOptions[];
export declare const isAssocField: (field?: FieldOptions) => boolean;
export declare const isSameCollection: (c1: Collection_deprecated, c2: Collection_deprecated) => boolean;
export declare const useFilterAPI: () => {
    /** 当前卡片是否已连接其它卡片 */
    isConnected: boolean;
    /** 调用该方法进行过滤 */
    doFilter: (value: any, field?: string | ((target: FilterTarget["targets"][0]) => string), operator?: string | ((target: FilterTarget["targets"][0]) => string)) => void;
};
export declare const isInFilterFormBlock: (fieldSchema: Schema) => boolean;
