import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { PipelineEvent } from "./commit-events.js"; import type { CommitGroup } from "./commit-prompt.js"; import { type CompleteFn } from "./commit-prompt.js"; import type { PiAutocommitConfig } from "./config.js"; import type { ReorganiserStore } from "./reorganiser-store.js"; /** * Stage and commit each logical group in order. * * Skips groups with no staged changes. Throws when a commit fails so the * caller can catch and run the fallback path. * * Also throws when the groups do not cover every staged file: the prompt * contract is "every file in exactly one group, no omissions", so a group * partition that drops a file would otherwise leave that change silently * uncommitted. Throwing routes the caller into the fallback single-commit * path, which stages and commits everything remaining. * * @returns The number of commits actually executed. */ export declare function commitGroups(store: ReorganiserStore, groups: CommitGroup[], events: PipelineEvent[]): Promise; /** * Fall back to a single Conventional Commit for all staged changes. * * One call to {@link completeSingleMessage} absorbs the LLM path and the * heuristic path alike — so the reorganiser's fallback no longer triggers a * second silent LLM roundtrip. */ export declare function fallbackSingleCommit(ctx: ExtensionContext, config: PiAutocommitConfig, store: ReorganiserStore, events: PipelineEvent[], complete?: CompleteFn): Promise; //# sourceMappingURL=reorganiser-helpers.d.ts.map