import type { HunkInfo } from '../types/hunk-info.js';
export interface StageOptions {
    precise?: boolean;
    cwd?: string;
    dryRun?: boolean;
}
export declare class StagingService {
    private git;
    private parser;
    private builder;
    private cache;
    constructor(cwd?: string);
    /**
     * List all hunks in a file
     */
    listHunks(filePath: string, options?: StageOptions): Promise<string[]>;
    /**
     * List all hunks with full information
     */
    listHunksWithInfo(filePath: string, options?: StageOptions): Promise<HunkInfo[]>;
    /**
     * Stage a specific hunk by index (1-based) or ID
     */
    stageHunk(filePath: string, hunkSelector: number | string, options?: StageOptions): Promise<void>;
    /**
     * Stage specific lines in a file
     */
    stageLines(filePath: string, startLine: number, endLine: number, _options?: StageOptions): Promise<void>;
    /**
     * Stage multiple hunks at once
     */
    stageHunks(filePath: string, hunkSelectors: Array<number | string>, options?: StageOptions): Promise<void>;
    /**
     * Get the count of hunks for a file
     */
    getHunkCount(filePath: string, options?: StageOptions): Promise<number>;
}
