export interface WorktreeProject {
    rootPath: string;
    worktreeRoot?: string;
}
export interface WorktreeComponent {
    name: string;
    repo: string;
    relativePath?: string;
}
/**
 * Convert a branch name to a slug suitable for use as a directory name.
 *
 * Slashes are flattened to dashes — this matches the existing convention
 * used throughout the worktree pool, goal manager, and session manager.
 * Idempotent: a slug already free of slashes round-trips unchanged.
 */
export declare function branchToSlug(branch: string): string;
/**
 * The parent directory under which all worktrees for this project live.
 *
 * If `worktree_root` is set in `project.yaml`:
 *   - absolute path → used as-is
 *   - relative path → resolved against `rootPath`
 *
 * If unset, defaults to `<rootPath>-wt/` (sibling of the project root).
 */
export declare function worktreeRoot(project: WorktreeProject): string;
/**
 * The per-branch container directory: `<worktreeRoot>/<branchSlug>/`.
 *
 * In single-repo mode this *is* the agent's cwd and the repo's worktree
 * directory (collapsed via `repoWorktreePath` below).
 *
 * In multi-repo mode this is a plain directory holding sibling repo
 * worktrees side-by-side, mirroring `rootPath`'s layout.
 */
export declare function branchContainer(project: WorktreeProject, branchSlug: string): string;
/**
 * Where a specific repo's worktree lives for a given branch.
 *
 *   - single-repo (`repo === "."`): collapses to `branchContainer` itself.
 *   - multi-repo:                   `<branchContainer>/<repo>/`.
 *
 * The `components` argument is unused today but reserved so callers can
 * pass the resolved component list without a refactor when we add
 * cross-component validation.
 */
export declare function repoWorktreePath(project: WorktreeProject, _components: WorktreeComponent[], branchSlug: string, repo: string): string;
/**
 * The component's working directory — where its `commands[*]` and
 * `worktree_setup_command` execute.
 *
 *   componentRoot = branchContainer / (repo === "." ? "" : repo) / (relativePath ?? "")
 */
export declare function componentRoot(component: WorktreeComponent, branchContainerPath: string): string;
//# sourceMappingURL=worktree-paths.d.ts.map