/**
 * 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.
 */
export declare const FLOW_SURFACE_PUBLIC_DATA_SURFACE_BLOCK_TYPES: Set<string>;
export declare const FLOW_SURFACE_PUBLIC_DATA_SURFACE_BLOCK_TYPE_LABEL = "table/list/gridCard/calendar/kanban";
export declare const FLOW_SURFACE_DEFAULT_FILTER_MAX_CANDIDATE_FIELDS = 4;
export declare const FLOW_SURFACE_DEFAULT_FILTER_REQUIRED_FIELD_COUNT = 3;
export declare const FLOW_SURFACE_DEFAULT_FILTER_MINIMUM_COVERAGE_FIELDS = 3;
export declare function isFlowSurfacePublicDataSurfaceBlockType(blockType?: string): boolean;
export declare function resolveFlowSurfaceDefaultFilterMinimumCandidateFieldNames(collection: any, options?: {
    maxCandidates?: number;
    minimumFields?: number;
}): string[];
export declare function resolveFlowSurfaceDefaultFilterRequiredFieldCount(collection: any): number;
export declare function resolveFlowSurfaceDefaultFilterCandidateFieldNames(collection: any, options?: {
    maxCandidates?: number;
}): string[];
export declare function buildFlowSurfaceDefaultFilterFromCollection(collection: any, options?: {
    maxCandidates?: number;
}): {
    logic: string;
    items: {
        path: string;
        operator: string;
    }[];
};
export declare function clampFlowSurfaceDefaultFilterToCandidateLimit(defaultFilter: any): any;
export declare function resolveFlowSurfaceDefaultFilterFieldNames(defaultFilter: any): string[];
export declare function normalizeFlowSurfacePublicBlockDefaultFilter(actionName: string, defaultFilter: any, options: {
    blockType?: string;
    template?: unknown;
    path?: string;
}): any;
export declare function assertFlowSurfaceConcreteDefaultFilterItem(actionName: string, defaultFilter: any, options?: {
    path?: string;
}): void;
export declare function backfillFlowSurfaceDefaultFilterSetting(settings: any, defaultFilter: any): any;
export declare function backfillFlowSurfaceFilterActionDefaultFilter<T extends {
    type?: string;
    settings?: Record<string, any>;
}>(actions: T[], defaultFilter: any): T[];
export declare function isFlowSurfaceDefaultFilterEligibleField(field: any): boolean;
