import { internalPrinter } from '../../../print/print';
import { PipelineStepStage } from '../../pipeline-step';
import type { SliceResult } from '../../../../slicing/static/slicer-types';
import type { NormalizedAst } from '../../../../r-bridge/lang-4.x/ast/model/processing/decorate';
import type { AutoSelectPredicate } from '../../../../reconstruct/auto-select/auto-select-defaults';
export interface ReconstructRequiredInput {
    autoSelectIf?: AutoSelectPredicate;
    /**
     * When confronted with a project of multiple files the question for reconstruct arises wrt. which files to rebuild.
     * This option can be used to either reconstruct all files or only specific files by their index in the project.
     * By default, (for legacy) this will reconstruct the *first* file (index 0).
     *
     * Either you can set this to `'all'` to reconstruct all files or provide an array of file indices in the files context to reconstruct only those files.
     */
    reconstructFiles?: 'all' | number[];
}
declare function processor(results: {
    normalize?: NormalizedAst;
    slice?: SliceResult;
}, input: Partial<ReconstructRequiredInput>): import("../../../../reconstruct/reconstruct").ReconstructionResult;
export declare const NAIVE_RECONSTRUCT: {
    readonly name: "reconstruct";
    readonly humanReadableName: "static code reconstruction";
    readonly description: "Reconstruct R code from the static slice";
    readonly processor: typeof processor;
    readonly executed: PipelineStepStage.OncePerRequest;
    readonly printer: {
        readonly 0: typeof internalPrinter;
    };
    readonly dependencies: readonly ["slice"];
    readonly requiredInput: ReconstructRequiredInput;
};
export {};
