import type { TopologyNodeCategory } from "./useWorkflowTopology";
import type { TaskKindCategory } from "./types";
/**
 * Category-to-color mapping using `--stgm-*` CSS custom properties.
 *
 * Shared between the read-only SVG topology graph and the interactive
 * React Flow canvas editor to ensure consistent visual language.
 */
export declare const CATEGORY_COLORS: Readonly<Record<TopologyNodeCategory, string>>;
/** Dagre layout configuration for top-to-bottom DAG rendering. */
export declare const DAGRE_CONFIG: {
    readonly rankdir: "TB";
    readonly ranksep: 60;
    readonly nodesep: 30;
};
/**
 * More generous dagre spacing for execution graphs. Execution nodes carry
 * status badges, duration chips, and fork-progress bars that need more
 * vertical and horizontal clearance than bare editor/overview nodes.
 */
export declare const EXECUTION_DAGRE_CONFIG: {
    readonly rankdir: "TB";
    readonly ranksep: 80;
    readonly nodesep: 50;
};
/** Shape accepted by {@link applyDagreLayout} for custom spacing overrides. */
export interface DagreLayoutConfig {
    readonly rankdir: "TB" | "LR";
    readonly ranksep: number;
    readonly nodesep: number;
}
/** Default padding around the SVG viewBox in the read-only graph. */
export declare const GRAPH_PADDING = 40;
/** Node dimensions for the read-only topology graph. */
export declare const TOPOLOGY_NODE_WIDTH = 180;
export declare const TOPOLOGY_NODE_HEIGHT = 40;
/** Node dimensions for canvas task nodes (wider to accommodate controls). */
export declare const CANVAS_NODE_WIDTH = 220;
export declare const CANVAS_NODE_HEIGHT = 56;
/** Sentinel node dimensions (Start/End pills). */
export declare const SENTINEL_NODE_WIDTH = 100;
export declare const SENTINEL_NODE_HEIGHT = 36;
/** React Flow handle (port) positions for canvas nodes. */
export declare const HANDLE_POSITIONS: {
    readonly input: {
        readonly x: 0.5;
        readonly y: 0;
    };
    readonly output: {
        readonly x: 0.5;
        readonly y: 1;
    };
};
/** Human-readable display names for task kind categories. */
export declare const CATEGORY_DISPLAY_NAMES: Readonly<Record<TaskKindCategory, string>>;
/**
 * Identifier pattern for workflow task names.
 *
 * Mirrors the `buf.validate` constraint on `WorkflowTask.name` in
 * `ai/stigmer/agentic/workflow/v1/spec.proto`.
 */
export declare const TASK_NAME_PATTERN: RegExp;
/** User-facing error message when a task name fails {@link TASK_NAME_PATTERN}. */
export declare const TASK_NAME_PATTERN_ERROR = "Must start with a letter or underscore, alphanumeric/underscore only";
/**
 * Rendering order for task kind categories in palettes and pickers.
 *
 * AI tasks first (most common), then control flow, invocation, data,
 * governance, events. Unspecified is a catch-all at the end.
 */
export declare const CATEGORY_ORDER: readonly TaskKindCategory[];
//# sourceMappingURL=canvas-constants.d.ts.map