import type { IngestTarget } from '../config-schema.js'; export interface ResolvedFile { absolutePath: string; relativePath: string; target: IngestTarget; } /** Resolve glob patterns from config targets to actual file paths. */ export declare function resolveFiles(targets: IngestTarget[], projectRoot: string, ignorePatterns?: string[], onWarn?: (msg: string) => void): ResolvedFile[]; /** * Files changed since a git ref, with the tracked-diff and untracked sets kept * SEPARATE (mmnto-ai/totem#2562). The semantics differ: "tracked and in the * diff" means the file moved since the ref, but "untracked" only means git has * no history for it — an untracked file is a PERMANENT member of that set, so * treating membership as "changed since the ref" would re-classify it forever. * The full-sync resume consumes only the `tracked` half (its moved-since-epoch * signal for everything else is mtime); `getChangedFiles` below unions both * for the incremental diff, where "new file ⇒ index it" is exactly right. */ export declare function getChangedFilesDetailed(projectRoot: string, sinceRef?: string, onWarn?: (msg: string) => void): { tracked: string[]; untracked: string[]; } | null; /** * Get files changed since a given git ref (e.g., HEAD~1 or a commit SHA). * Also includes untracked files so new files are picked up on incremental sync. * Uses -z for null-delimited output consistent with getGitNonIgnoredFiles. */ export declare function getChangedFiles(projectRoot: string, sinceRef?: string, onWarn?: (msg: string) => void): string[] | null; /** * Get the current HEAD SHA for sync state tracking. */ export declare function getHeadSha(projectRoot: string, onWarn?: (msg: string) => void): string | null; //# sourceMappingURL=file-resolver.d.ts.map