import type { FileChangeProgress } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/filereview_pb";
/** Props for {@link FileChangeProgressBar}. */
export interface FileChangeProgressBarProps {
    /**
     * The transient mid-run progress snapshot for the active turn (DD-32). Feed
     * this from `useSessionConversation().fileChangeProgress`. Renders nothing when
     * undefined or when no files have changed yet — the server clears it once the
     * turn's change set leaves CAPTURING, so the bar disappears exactly when the
     * decision surface ({@link FileReviewDock}) takes over.
     */
    readonly progress: FileChangeProgress | undefined;
    /** Additional CSS class names for the root container. */
    readonly className?: string;
}
/**
 * The live "N files changed so far" strip for a turn that is still running.
 *
 * WHY IT EXISTS. The transcript streams per-edit tool rows, but a change made by
 * a shell command (a `sed`, a build step) has no tool row, and there is no
 * running net-of-many-edits rollup until the turn ends. This bar fills that gap:
 * a compact, NON-INTERACTIVE count of the workspace delta accumulating during
 * the turn, pinned above the composer where the {@link FileReviewDock} will later
 * appear. The two are mutually exclusive per turn (progress shows while CAPTURING;
 * the dock shows once AWAITING_REVIEW), so the bar hands off cleanly to the dock.
 *
 * NEVER A DECISION SURFACE. Progress is non-authoritative and carries no file
 * bodies — it is never reviewable or decidable. The reviewed diff is the
 * turn-boundary candidate ({@link FileReviewDock} / the stamped transcript rows).
 * A secret-like path is surfaced by name with its counts withheld (zeroed), so
 * `FileLineStats` renders nothing for it.
 *
 * A11Y. Only the summary count is an `aria-live` region — the per-file list is
 * not — so a screen reader hears "3 files changing" as the count moves, not a
 * per-file barrage on every ~2s refresh.
 *
 * Purely presentational (headless-first, DD-003): the data lives in
 * `useSessionConversation().fileChangeProgress`. `SessionViewer` mounts it above
 * the dock by default.
 *
 * @example
 * ```tsx
 * const conv = useSessionConversation(sessionId);
 * <FileChangeProgressBar progress={conv.fileChangeProgress} />
 * ```
 */
export declare const FileChangeProgressBar: import("react").NamedExoticComponent<FileChangeProgressBarProps>;
//# sourceMappingURL=FileChangeProgressBar.d.ts.map