/**
 * Git Exporter
 *
 * Serializes TrellisVCS milestones back to Git commits.
 * Each milestone becomes a Git commit with:
 *   - The milestone message as the commit message
 *   - File states reconstructed from the blob store
 *   - Author info from the milestone's createdBy identity
 *
 * The exporter creates a new Git repo (or uses an existing one)
 * and leaves the TrellisVCS repo untouched.
 */
export interface ExportOptions {
    /** Path to the TrellisVCS repository to export from. */
    from: string;
    /** Path to the target Git repository. */
    to: string;
    /** Author name for commits (default: "TrellisVCS Export"). */
    authorName?: string;
    /** Author email for commits (default: "export@trellis.dev"). */
    authorEmail?: string;
    /** Callback for progress reporting. */
    onProgress?: (progress: ExportProgress) => void;
}
export interface ExportProgress {
    phase: 'preparing' | 'exporting' | 'done';
    current: number;
    total: number;
    message: string;
}
export interface ExportResult {
    milestonesExported: number;
    commitsCreated: number;
    duration: number;
}
export declare function exportToGit(opts: ExportOptions): Promise<ExportResult>;
//# sourceMappingURL=git-exporter.d.ts.map