import type { CommandResult } from "./process.js"; export interface WorktreeInfo { readonly path: string; readonly label: string; readonly branch: string | null; readonly openWorkspaceId: string | null; readonly isBare: boolean; readonly isDetached: boolean; readonly isPrunable: boolean; readonly isLinkedWorktree: boolean; } interface WorktreeSource { readonly repoName: string; readonly repoRoot: string; readonly sourceCheckoutPath: string; readonly sourceWorkspaceId: string | null; } export interface WorktreeListResult { readonly type: "worktree_list"; readonly source: WorktreeSource; readonly worktrees: readonly WorktreeInfo[]; } export interface WorktreeOpenedResult { readonly type: "worktree_created" | "worktree_opened"; readonly workspaceId: string; readonly tabId: string; readonly rootPaneId: string; readonly worktree: WorktreeInfo; readonly alreadyOpen: boolean; } export interface WorktreeRemovedResult { readonly type: "worktree_removed"; readonly workspaceId: string; readonly path: string; readonly forced: boolean; } /** A Herdr socket API error, reported as JSON on stderr with a stable machine-readable code. */ export declare class HerdrApiError extends Error { readonly code: string; constructor(code: string, message: string); } /** * Herdr prints one JSON document per command: a success envelope carrying `result`, or an * error envelope carrying `error`. A non-zero exit with an error envelope is a rejected * request, not a broken CLI, so it keeps its own error type. */ export declare function parseEnvelope(result: CommandResult): Record; export declare function parseWorktreeList(payload: Record): WorktreeListResult; export declare function parseWorktreeOpened(payload: Record): WorktreeOpenedResult; export declare function parseWorktreeRemoved(payload: Record): WorktreeRemovedResult; export {}; //# sourceMappingURL=response.d.ts.map