import { SnapshotService } from "./snapshot-service.js";
import type { ChangeSet, RevertRecord } from "./snapshot-types.js";
export interface ApplyRevertOptions {
    cwd: string;
    sessionId: string;
    changeSets: readonly ChangeSet[];
    snapshotService?: SnapshotService;
    createdAt?: number;
    operation?: "revert" | "unrevert";
    reactivateChangeSetIds?: readonly number[];
}
export interface ApplyRevertResult {
    revertRecord: RevertRecord;
    preRevertChangeSet?: ChangeSet;
    affectedFiles: string[];
}
export interface ResolveRevertToResult {
    targetId: number;
    changeSets: ChangeSet[];
}
export interface ResolveUnrevertResult {
    revertRecord: RevertRecord;
    changeSet: ChangeSet;
    reactivateChangeSetIds: number[];
}
export declare function resolveRevertToChangeSets(allChangeSets: readonly ChangeSet[], targetId: number): ResolveRevertToResult;
export declare function resolveLatestUnrevert(snapshotService: SnapshotService): Promise<ResolveUnrevertResult>;
export declare function applyRevertSelection(options: ApplyRevertOptions): Promise<ApplyRevertResult>;
//# sourceMappingURL=revert-apply.d.ts.map