import { DataflowGraph } from '../../dataflow/graph/graph';
import { VertexType } from '../../dataflow/graph/vertex';
import { type MergeableRecord } from '../objects';
import type { DeepPartial } from 'ts-essentials';
import type { REnvironmentInformation } from '../../dataflow/environments/environment';
export interface ReduceVertexOptions extends MergeableRecord {
    tags: VertexType[];
    nameRegex: string;
    blacklistWithName: boolean;
    keepEnv: boolean;
    keepCd: boolean;
    compactFunctions: boolean;
}
export interface ReduceOptions extends MergeableRecord {
    vertices: ReduceVertexOptions;
}
/**
 * Produces a reduced version of the given dataflow graph according to the given options.
 */
export declare function reduceDfg(dfg: DataflowGraph, options: DeepPartial<ReduceOptions>, cleanEnv: REnvironmentInformation): DataflowGraph;
