/** * Demerzel Snapshot Generator * * Creates optimized text snapshots of codebases for analysis. * Handles file filtering, exclusion patterns, and formatting. * * Ported from Argus to Foundation. */ /** * Snapshot generation mode. * * - `"full"` — all file bodies + metadata (default, byte-identical to pre-change behaviour) * - `"graph"` — import/export graph + symbol index only, no file body sections (~80% reduction) * - `"index"` — file tree + top-level exports only (~95% reduction) */ export type SnapshotMode = 'full' | 'graph' | 'index'; export interface SnapshotOptions { extensions?: string[]; excludePatterns?: string[]; maxFileSize?: number; includeHidden?: boolean; /** Snapshot generation mode (default: "full") */ mode?: SnapshotMode; } export interface SnapshotResult { /** Canonical (uncompressed) path passed as outputPath. */ outputPath: string; /** Actual on-disk path — always outputPath + ".zst". */ diskPath: string; fileCount: number; totalLines: number; totalSize: number; files: string[]; mode: SnapshotMode; } export declare const DEFAULT_EXTENSIONS: string[]; export declare const DEFAULT_EXCLUDE_PATTERNS: string[]; /** * Build the standard snapshot header lines, shared across all modes. */ export declare function buildSnapshotHeader(projectPath: string, fileCount: number, extensions: string[], mode: SnapshotMode): string[]; /** * Create a basic codebase snapshot. * * Writes a compressed `.zst` file to disk. The `outputPath` parameter is the * canonical (uncompressed) path; the actual on-disk file is `outputPath + ".zst"`. * * Mode behaviour: * - `"full"` — includes all file bodies (default, preserves existing behaviour) * - `"graph"` / `"index"` — writes header + file tree only; `createEnhancedSnapshot` * appends the relevant structural metadata on top of this base */ export declare function createSnapshot(projectPath: string, outputPath: string, options?: SnapshotOptions): Promise; /** * Return disk-level stats for an existing snapshot. * Accepts the canonical (uncompressed) path; transparently resolves to `.zst`. */ export declare function getSnapshotStats(snapshotPath: string): { fileCount: number; totalLines: number; totalSize: number; }; //# sourceMappingURL=snapshot.d.ts.map