import type { TaskEntity } from "../types.js";
/** Full graph when active task count is at or below this; larger workspaces use a capped subgraph. */
export declare const DASHBOARD_DEPENDENCY_FULL_GRAPH_CAP = 50;
/** Hard cap on nodes included when the graph is truncated. */
export declare const DASHBOARD_DEPENDENCY_TRUNCATED_NODE_CAP = 80;
/** Skip inline Mermaid text when there are too many edges (webview copy-paste / perf). */
export declare const DASHBOARD_DEPENDENCY_MERMAID_EDGE_CAP = 120;
export type DashboardDependencyOverviewV1 = {
    schemaVersion: 1;
    activeTaskCount: number;
    includedTaskCount: number;
    edgeCount: number;
    truncated: boolean;
    /** Human-readable perf / degradation note; null when full graph fits. */
    perfNote: string | null;
    nodes: {
        id: string;
        status: string;
    }[];
    /** `from` depends on `to` (same convention as `get-dependency-graph`). */
    edges: {
        from: string;
        to: string;
    }[];
    /**
     * Mermaid `flowchart TD` fragment (node ids sanitized). Empty string when omitted due to edge cap.
     */
    mermaidFlowchart: string;
    /**
     * Longest prerequisite chain among **ready** tasks in the included subgraph, ordered
     * **execution-first** (dependencies … then the ready task). Empty when there is no ready task.
     */
    criticalPathReady: string[];
};
export declare function buildDashboardDependencyOverview(tasks: TaskEntity[]): DashboardDependencyOverviewV1;
