import type { NoteKind, VersioningConfig } from './types.js'; export type OpType = 'store' | 'update' | 'archive' | 'delete' | 'promote' | 'publish-global' | 'assign-project' | 'format'; export interface PendingOp { op: OpType; noteId: string; title: string; kind: NoteKind; project?: string; } export declare function buildCommitMessage(ops: PendingOp[], stagedFiles: string[], _vaultPath: string): string; export declare class GitVersioning { private readonly vaultPath; private readonly config; private readonly opBuffer; private readonly changedPaths; private debounceTimer; private committing; private commitPaused; private initialized; private _shuttingDown; private readonly initialDirtyPaths; constructor(vaultPath: string, config: VersioningConfig); init(): Promise; private ensureGitignore; private cleanStaleLock; private captureInitialDirtyPaths; private getStageablePaths; private getStageablePathsSync; private stageChangedPaths; private stageChangedPathsSync; private acquireLock; private releaseLock; private commitPending; private doCommit; private scheduleDebounce; private recordChangedPaths; recordOp(op: PendingOp, paths: readonly string[]): void; recordImmediate(op: PendingOp, paths: readonly string[]): Promise; preCommit(message: string, paths: readonly string[]): Promise; checkpoint(message: string, paths: readonly string[]): Promise; pauseCommits(): void; resumeCommits(): void; shutdownSync(): void; get isActive(): boolean; getStats(): { commitCount: number; lastCommitAge: string | null; } | null; } export declare function createGitVersioning(vaultPath: string, config: VersioningConfig): GitVersioning; //# sourceMappingURL=git-versioning.d.ts.map