/** * Location file to database synchronization * Handles YAML/Markdown location files → database, and DB → YAML reverse sync. */ import type { MCPClient } from '../core/database.js'; export interface LocationSyncOptions { /** When true, overwrite DB data from file even if a conflict is detected. */ forceFile?: boolean; } export declare class LocationSync { private mcpClient; private projectId; private projectPath?; private readonly syncStateRepo; constructor(mcpClient: MCPClient, projectId: number, projectPath?: string | undefined); /** * Sync a location file to the database. * * @param filePath - absolute path to the YAML location file * @param options - optional flags; set `forceFile: true` to suppress conflict errors */ syncLocationFile(filePath: string, options?: LocationSyncOptions): Promise; /** * Insert or update location record */ private upsertLocation; /** * Build description from location data */ private buildDescription; /** * Export a location from the database back to a YAML file (reverse sync). * Writes to `/locations/.yaml`. * * @param locationId - numeric DB id of the location row (as string) * @returns absolute path to the written file */ exportToYAML(locationId: string): Promise; /** * Delete a location from database (when file is deleted) */ deleteLocation(locationName: string): Promise; } //# sourceMappingURL=location-sync.d.ts.map