export interface RulerBlockRange { start: number; end: number; } export interface RemoveRulerBlocksResult { content: string; removed: boolean; } /** * Updates an ignore file in the project root with paths in a managed Ruler block. * Creates the file if it doesn't exist, and creates or updates the Ruler-managed block. * * @param projectRoot The project root directory * @param paths Array of file paths to add to the ignore file (can be absolute or relative) * @param ignoreFile Relative path to the ignore file from project root (defaults to .gitignore) */ export declare function updateGitignore(projectRoot: string, paths: string[], ignoreFile?: string): Promise; /** * Resolves ignore files Ruler manages. Linked worktrees store `.git` as a * file containing a `gitdir:` pointer, so `.git/info/exclude` must be resolved * through that pointer. */ export declare function resolveIgnoreFilePath(projectRoot: string, ignoreFile: string): Promise; export declare function findCompleteRulerBlocks(lines: string[]): RulerBlockRange[]; export declare function removeCompleteRulerBlocks(content: string): RemoveRulerBlocksResult;