import type { BaseQueryFormat, BaseQueryResult } from '../../base-query-format';
import Joi from 'joi';
import type { DataflowGraphClusters } from '../../../dataflow/cluster';
import { executeDataflowClusterQuery } from './cluster-query-executor';
import type { NodeId } from '../../../r-bridge/lang-4.x/ast/model/processing/node-id';
/**
 * Calculates and returns all clusters encountered in the dataflow graph.
 */
export interface DataflowClusterQuery extends BaseQueryFormat {
    readonly type: 'dataflow-cluster';
}
export interface DataflowClusterQueryResult extends BaseQueryResult {
    /** All clusters found in the respective dataflow */
    readonly clusters: DataflowGraphClusters;
}
export declare const ClusterQueryDefinition: {
    readonly executor: typeof executeDataflowClusterQuery;
    readonly asciiSummarizer: (formatter: import("../../../util/text/ansi").OutputFormatter, analyzer: import("../../../project/flowr-analyzer").ReadonlyFlowrAnalysisProvider<import("../../../r-bridge/parser").KnownParser>, queryResults: BaseQueryResult, result: string[]) => Promise<boolean>;
    readonly schema: Joi.ObjectSchema<any>;
    readonly flattenInvolvedNodes: (queryResults: BaseQueryResult) => NodeId[];
};
