import { internalPrinter } from '../../../print/print';
import { PipelineStepStage } from '../../pipeline-step';
import type { DataflowInformation } from '../../../../dataflow/info';
import type { SlicingCriteria } from '../../../../slicing/criterion/parse';
import type { NormalizedAst } from '../../../../r-bridge/lang-4.x/ast/model/processing/decorate';
export interface SliceRequiredInput {
    /** The slicing criterion is only of interest if you actually want to slice the R code */
    readonly criterion: SlicingCriteria;
    /** How many re-visits of the same node are ok? */
    readonly threshold?: number;
}
declare function processor(results: {
    dataflow?: DataflowInformation;
    normalize?: NormalizedAst;
}, input: Partial<SliceRequiredInput>): Readonly<import("../../../../slicing/static/slicer-types").SliceResult>;
export declare const STATIC_SLICE: {
    readonly name: "slice";
    readonly humanReadableName: "static slice";
    readonly description: "Calculate the actual static slice from the dataflow graph and the given slicing criteria";
    readonly processor: typeof processor;
    readonly executed: PipelineStepStage.OncePerRequest;
    readonly printer: {
        readonly 0: typeof internalPrinter;
    };
    readonly dependencies: readonly ["dataflow"];
    readonly requiredInput: SliceRequiredInput;
};
export {};
