import type { FileChange } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/message_pb";
import type { SelectedWorkspaceFile } from "../internal/store/workspace-file-selection-store.js";
import type { WorkspaceEntry } from "./useWorkspaceEntries.js";
/**
 * The session {@link FileChange} that touched the currently-open file, or
 * `null` when the open file was not changed this session (or cannot be
 * correlated with certainty).
 *
 * @param selection - The open file, keyed by `entryId` + repo/root-relative `path`.
 * @param fileChanges - Net-per-file session changes (from `useSessionFileChanges`).
 * @param entries - The client workspace entries — the SAME list the tree and
 *   transcript resolve against (`flow.workspace.entries`), so the returned
 *   `entryId` is directly comparable. Do not pass the proto `workspaceEntries`.
 * @param sandboxWorkspaceRoot - The sandbox root for git sessions (strips
 *   cloud-absolute change paths), identical to the transcript resolver's input.
 * @returns The matching change, or `null`.
 */
export declare function findChangeForSelection(selection: SelectedWorkspaceFile, fileChanges: readonly FileChange[], entries: readonly WorkspaceEntry[], sandboxWorkspaceRoot?: string): FileChange | null;
//# sourceMappingURL=findChangeForSelection.d.ts.map