import type Mixedbread from "@mixedbread/sdk"; import type { FileCreateParams } from "@mixedbread/sdk/resources/stores"; import { type SyncedFileByPath } from "./sync-state.js"; import { type MultipartUploadOptions } from "./upload.js"; interface FileChange { path: string; type: "added" | "modified" | "deleted"; size?: number; localHash?: string; remoteHash?: string; fileId?: string; remoteExternalId?: string; } interface SyncAnalysis { added: FileChange[]; modified: FileChange[]; deleted: FileChange[]; unchanged: number; totalFiles: number; totalSize: number; } interface SyncResult { file: FileChange; success: boolean; skipped?: boolean; error?: Error; } interface SyncResults { deletions: { successful: SyncResult[]; failed: SyncResult[]; }; uploads: { successful: SyncResult[]; failed: SyncResult[]; }; } interface AnalyzeChangesParams { patterns: string[]; syncedFiles: SyncedFileByPath; gitInfo: { commit: string; branch: string; isRepo: boolean; }; fromGit?: string; forceUpload?: boolean; } export declare function analyzeChanges(params: AnalyzeChangesParams): Promise; export declare function formatChangeSummary(analysis: SyncAnalysis): string; export declare function executeSyncChanges(client: Mixedbread, storeIdentifier: string, analysis: SyncAnalysis, options: { strategy?: FileCreateParams.Config["parsing_strategy"]; metadata?: Record; gitInfo?: { commit: string; branch: string; }; parallel?: number; multipartUpload?: MultipartUploadOptions; }): Promise; export declare function displaySyncResultsSummary(syncResults: SyncResults, gitInfo: { commit: string; branch: string; isRepo: boolean; }, fromGit?: string, uploadOptions?: { strategy?: FileCreateParams.Config["parsing_strategy"]; }): void; export {}; //# sourceMappingURL=sync.d.ts.map