/** * Pure helper functions for the chained PRs feature. * * No external dependencies — only chain-types imports. */ import type { ChainResult } from "./chain-types.js"; /** * Generate a URL-safe slug from a work item title. * * Rules: * 1. Lowercase * 2. Replace non-alphanumeric (except hyphens) with hyphens * 3. Collapse consecutive hyphens * 4. Trim leading/trailing hyphens * 5. Truncate to maxLength * 6. If truncated, trim trailing hyphen */ export declare function slugify(title: string, maxLength?: number): string; /** * Derive a full branch name from a work item. * * Format: {prefix}/{wi-id}-{slug} */ export declare function deriveBranchName(prefix: string, wiId: number, title: string, slugMaxLength?: number): string; /** * Build an ASCII dependency diagram with 📍 marking the current step. */ export declare function buildDependencyDiagram(steps: Array<{ prId?: number; title: string; }>, currentIndex: number, tracker?: { prId: number; title: string; }): string; /** * Build the Chain Context markdown section for a PR description. */ export declare function buildChainContext(params: { chainName: string; strategy: "feature-chain" | "stacked"; position: number; total: number; tracker?: { prId: number; branchName: string; }; dependsOn?: { prId: number; title: string; }; followUp?: { prId: number; title: string; }; steps: Array<{ prId?: number; title: string; wiId: number; }>; currentIndex: number; }): string; /** * Format a ChainResult as a human-readable Markdown summary. */ export declare function formatChainResult(result: ChainResult): string; //# sourceMappingURL=chain-helpers.d.ts.map