import type { FormatId } from '../api/format-contract.js'; import { type Diagnostic, type Graph, type NodeId } from '../graph.js'; import type { ModifyContext } from './context.js'; export type ReplaceRangeEdgeKind = 'dep' | 'dev' | 'optional'; export interface ReplaceRangeSpec { readonly parent: NodeId; readonly name: string; readonly to: string; readonly from?: string; readonly edge?: ReplaceRangeEdgeKind; } export interface ReplaceRangeResult { readonly graph: Graph; readonly added: NodeId[]; readonly recentlyAdded: Set; readonly recentlyOrphaned: Set; readonly unresolved: Diagnostic[]; } export declare function replaceRange(graph: Graph, spec: ReplaceRangeSpec, format: FormatId, context: ModifyContext, options?: { onDiagnostic?: (diagnostic: Diagnostic) => void; }): Promise;