import type { ExternalIssueProvider, LocalIssueCommentIdMapping, LocalIssueRecord, LocalIssueEventWithBody } from './types.js'; export interface ExternalIssueSnapshot { provider: ExternalIssueProvider; external_id: string; external_url?: string | null; title: string; body: string; status: string; labels: string[]; created_at?: string; updated_at: string; comments?: ExternalIssueCommentSnapshot[]; } export interface ExternalIssueCommentSnapshot { external_id?: string | null; local_event_id?: string | null; author: string; body: string; created_at: string; updated_at?: string; } export interface LocalIssueSyncConflict { field: string; local: unknown; external: unknown; localUpdatedAt: string; externalUpdatedAt: string; } export interface LocalIssueSyncConflictReport { issue_id: string; provider: ExternalIssueSnapshot['provider']; external_id: string; external_url: string | null; conflicts: LocalIssueSyncConflict[]; } export interface LocalIssueExportSnapshot extends ExternalIssueSnapshot { local_issue_id: string; comments: Array; } export declare function attachExternalIssueSource(issue: LocalIssueRecord, source: Pick): LocalIssueRecord; export declare function buildLocalIssueConflictReport(localIssue: LocalIssueRecord & { events?: LocalIssueEventWithBody[]; }, externalIssue: ExternalIssueSnapshot): LocalIssueSyncConflictReport; export declare function buildExternalIssueSnapshotFromLocal(localIssue: LocalIssueRecord & { events?: LocalIssueEventWithBody[]; }, provider: ExternalIssueProvider): LocalIssueExportSnapshot; export declare function parseExternalIssueSnapshot(value: unknown): ExternalIssueSnapshot; export declare function parseCommentIdMappings(value: unknown): LocalIssueCommentIdMapping[]; //# sourceMappingURL=sync.d.ts.map