/**
 * 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.
 */
type WorkflowCollection = {
    name?: string;
    dataSourceKey?: string;
    dataSource?: {
        key?: string;
        name?: string;
    };
};
type WorkflowOption = {
    title?: string;
    key?: string;
    type?: string;
    config?: Record<string, unknown> | null;
};
type TriggerWorkflowBinding = {
    workflowKey?: string;
};
type ActionTriggerableTrigger = {
    title?: string;
    actionTriggerableScope?: boolean | ((config: Record<string, unknown>, scope: string) => boolean);
};
type WorkflowPlugin = {
    getTriggerOptions?: (type?: string) => ActionTriggerableTrigger | undefined;
    triggers?: {
        get(type: string): ActionTriggerableTrigger | undefined;
    };
};
type PluginManagerLike = {
    get(name: string): unknown;
};
export declare function getWorkflowPlugin(pm: PluginManagerLike): WorkflowPlugin | undefined;
export declare function getWorkflowCollectionName(collection?: WorkflowCollection | null): string;
export declare function buildTriggerWorkflows(group?: TriggerWorkflowBinding[]): string;
export declare function getWorkflowOptionFilter(plugin: unknown, currentValue?: string): (option: WorkflowOption) => boolean;
export {};
