import type { GithubExecute } from '@volter-ai-dev/twin-github'; import type { ReconcilePolicy } from '@volter-ai-dev/twin'; import type { TrackerClient } from '../../types.js'; export type SyncOpts = { projectRoot: string; owner: string; repo: string; execute: GithubExecute; client: TrackerClient; occurredAt: string; }; export type PullResult = { created: string[]; updated: string[]; total: number; note?: string; }; export type PushResult = { created: Array<{ ztrack: string; number: number; }>; updated: string[]; skipped: number; total: number; }; export type ReconcileResult = { pulled: string[]; pushed: string[]; created: Array<{ ztrack: string; number: number; }>; conflicts: Array<{ issue: string; number: number; fields: string[]; }>; }; /** PULL: incremental fold, then write to the tracker only the issues that differ (or create new). */ export declare function pull(o: SyncOpts, opts?: { retryDelayMs?: number; }): Promise; /** PUSH: morph the twin for each changed/new tracker issue, then idempotent egress to GitHub. */ export declare function push(o: SyncOpts): Promise; /** RECONCILE: bidirectional three-way merge. Non-overlapping concurrent edits merge; a same-field * collision is surfaced as a conflict (under `merge`) instead of one side silently clobbering. */ export declare function reconcileSync(o: SyncOpts, policy?: ReconcilePolicy): Promise;