import type { DataflowGraph, UnknownSidEffect } from '../../dataflow/graph/graph';
import type { RShell } from '../../r-bridge/shell';
import type { MermaidMarkdownMark } from '../../util/mermaid/dfg';
import { DEFAULT_DATAFLOW_PIPELINE } from '../../core/steps/pipeline/default-pipelines';
import type { PipelineOutput } from '../../core/steps/pipeline/pipeline';
import type { KnownParser } from '../../r-bridge/parser';
export declare function printDfGraph(graph: DataflowGraph, mark?: ReadonlySet<MermaidMarkdownMark>, simplified?: boolean): string;
export interface PrintDataflowGraphOptions {
    readonly mark?: ReadonlySet<MermaidMarkdownMark>;
    readonly showCode?: boolean;
    readonly codeOpen?: boolean;
    readonly exposeResult?: boolean;
    readonly switchCodeAndGraph?: boolean;
    readonly simplified?: boolean;
}
export declare function formatSideEffect(ef: UnknownSidEffect): string;
export declare function printDfGraphForCode(parser: KnownParser, code: string, options: PrintDataflowGraphOptions & {
    exposeResult: true;
}): Promise<[string, PipelineOutput<typeof DEFAULT_DATAFLOW_PIPELINE>]>;
export declare function printDfGraphForCode(parser: KnownParser, code: string, options?: PrintDataflowGraphOptions & {
    exposeResult?: false | undefined;
}): Promise<string>;
/** returns resolved expected df graph */
export declare function verifyExpectedSubgraph(shell: RShell, code: string, expectedSubgraph: DataflowGraph): Promise<DataflowGraph>;
