/**
 * 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 type { Collection, DataSourceManager } from '@nocobase/flow-engine';
import type { FieldTreeCollectionManager } from '../../canvas/collectionFieldOptions';
export type CollectionTriggerField = {
    name?: string;
    type?: string;
    target?: string;
    hidden?: boolean;
    interface?: string;
    collectionName?: string;
    foreignKey?: string;
    targetKey?: string;
    primaryKey?: boolean;
    isForeignKey?: boolean;
    uiSchema?: {
        title?: string;
        ['x-read-pretty']?: boolean;
    };
};
export declare function joinCollectionName(dataSourceKey: string, collectionName: string): string;
export declare function parseCollectionName(value?: string): [string, string] | [];
export type CollectionOption = {
    value: string;
    label: string;
    children?: CollectionOption[];
};
export declare function getCollectionOptions(dataSourceManager: DataSourceManager | undefined): CollectionOption[];
export declare function getCollectionFields(dataSourceManager: DataSourceManager | undefined, collectionValue?: string): CollectionTriggerField[];
export declare function getCollection(dataSourceManager: DataSourceManager | undefined, collectionValue?: string): Collection | undefined;
export declare function getCollectionManagerAdapter(dataSourceManager: DataSourceManager | undefined, dataSourceKey?: string): FieldTreeCollectionManager;
export declare function isAssociationField(field: CollectionTriggerField): boolean;
export declare function isDateField(field: CollectionTriggerField): boolean;
export declare function hasFieldName(field: CollectionTriggerField): field is CollectionTriggerField & {
    name: string;
};
