import { Worktree } from '../types/index.js'; /** Clear the module-level git-status cache. Intended for tests. */ export declare function clearGitStatusCache(): void; /** * Custom hook for polling git status and commit dates of worktrees with Effect-based execution * * Fetches git status and last commit date for each worktree at regular intervals * using Effect.runPromiseExit and updates worktree state with results. * Both are fetched together so they appear at the same time. * Handles cancellation via AbortController. * * Each poll cycle fetches every worktree concurrently and commits the results in * a single state update, skipping the update entirely when nothing changed. This * keeps a poll cycle to at most one re-render of the consumer (the menu) instead * of one per worktree, so background polling does not stutter keyboard navigation. * * @param worktrees - Array of worktrees to monitor * @param defaultBranch - Default branch for comparisons (null disables polling) * @param updateInterval - Polling interval in milliseconds (default: 5000) * @returns Array of worktrees with updated gitStatus, gitStatusError, and lastCommitDate fields */ export declare function useGitStatus(worktrees: Worktree[], defaultBranch: string | null, updateInterval?: number): Worktree[];