import type { KeepConstraint } from "../../types";
import type { Output, TerminalGraphOptions } from "../types";
import type { CompactSummaryData, Completer, ExecutiveSummaryData, OverrideInfo, OverridesMap, RemovedOverrideInfo, SecurityFixInfo, SpinnerControl, SpinnerPausedRunner, StateContainer, TerminalGraphState, TerminalTreeContext, TreeWriter, VulnerabilityInfo } from "./types";
export declare const noopOutput: Output;
export declare const createState: <T>(initial: T) => StateContainer<T>;
export declare const createInitialState: () => TerminalGraphState;
export declare const buildPrefix: (ancestors: boolean[]) => string;
export declare const buildConnector: (isLast: boolean) => string;
export declare const composeLine: (...parts: (string | undefined)[]) => string;
export declare const buildTreeLine: (ancestors: boolean[], isLast: boolean, ...content: (string | undefined)[]) => string;
export declare const createTreeWriter: (out: Output, state: StateContainer<TerminalGraphState>) => TreeWriter;
export declare const createSpinnerControl: (out: Output, state: StateContainer<TerminalGraphState>) => SpinnerControl;
export declare const withSpinnerPaused: (spinner: SpinnerControl) => SpinnerPausedRunner;
export declare const createShimmerCompleter: (out: Output) => Completer;
export declare const createTerminalTreeContext: (options: TerminalGraphOptions) => TerminalTreeContext;
export declare const buildBannerOutput: () => string;
export declare const buildProgressText: (current: number, total: number, item: string) => string;
export declare const buildVulnerabilityHeader: (info: VulnerabilityInfo) => string;
export declare const selectVulnerabilityIcon: (fixAvailable: boolean) => string;
export declare const formatCves: (cves: string[] | undefined) => string | undefined;
export declare const formatVulnerabilityFix: (fixAvailable: boolean, patchedVersion: string | undefined) => string;
export declare const buildVulnerabilityDetails: (info: VulnerabilityInfo) => string[];
export declare const buildOverrideHeader: (info: OverrideInfo) => string;
export declare const selectOverrideIcon: (isSecurityFix: boolean | undefined, keep: boolean | KeepConstraint | undefined) => string;
export declare const formatPatches: (patches: string[] | undefined) => string | undefined;
export declare const formatDependentCount: (dependents: Record<string, string> | undefined) => string | undefined;
export declare const formatKeepStatus: (keep: boolean | KeepConstraint | undefined) => string | undefined;
export declare const formatPotentiallyFixedIn: (version: string | undefined) => string | undefined;
export declare const buildOverrideDetails: (info: OverrideInfo) => string[];
export declare const buildSecurityFixHeader: (info: SecurityFixInfo) => string;
export declare const formatBlockedCves: (cves: string[] | undefined) => string | undefined;
export declare const buildSecurityFixDetails: (info: SecurityFixInfo) => string[];
export declare const buildRemovedOverrideHeader: (info: RemovedOverrideInfo) => string;
export declare const buildExecutiveSummaryLines: (data: ExecutiveSummaryData) => string[];
export declare const buildCompactSummaryLine: (data: CompactSummaryData) => string;
export declare const writeDetailLines: (tree: TreeWriter, details: string[]) => void;
export declare const writeOptionalDetails: (tree: TreeWriter, isLast: boolean, details: string[]) => void;
export declare const writeOverridesSection: (tree: TreeWriter, overrides: OverridesMap, isLast: boolean) => void;
export declare const writeChangesSection: (tree: TreeWriter, changes: string[] | undefined) => void;
export declare const buildNoticeBox: (text: string) => string[];
