import { type SyncFileSnapshot } from "../../sync/state.js"; export interface PushFileContent { path: string; content: string; } export interface PushRemoteFile { path: string; content?: string; version_id?: string; } export interface PlannedUpload extends PushFileContent { expectedVersionId?: string; expectedAbsent?: boolean; } export interface PlannedDelete { path: string; expectedVersionId?: string; } export interface PushChangePlan { uploads: PlannedUpload[]; deletes: PlannedDelete[]; conflicts: string[]; nextFiles: Record; } export interface PlanPushChangesOptions { localFiles: readonly PushFileContent[]; remoteFiles: readonly PushRemoteFile[]; baselineFiles: Readonly>; deletePaths: readonly string[]; force: boolean; /** Treat the exact remote snapshot as the baseline for a newly created branch. */ remoteFilesAreBaseline?: boolean; } export declare function planPushChanges(options: PlanPushChangesOptions): Promise; //# sourceMappingURL=plan.d.ts.map