import type { DirectorySnapshot } from "./types.js";
/**
 * Takes a snapshot of a local directory. The current implementation stores the snapshot in memory.
 * This is not scalable for large directories and is subject to change.
 *
 * This function now captures the DRAFT state (current filesystem state).
 * For committed state, use snapshotLocalDirectoryCommittedState.
 *
 * @param localDirectoryPath - The path to the local directory to snapshot.
 * @returns A promise that resolves to a snapshot of the local directory.
 */
export declare function snapshotLocalDirectory(localDirectoryPath: string): Promise<DirectorySnapshot>;
/**
 * Takes a snapshot of a local directory showing the COMMITTED state.
 * This function:
 * - Uses .sbswap.edit content from the drafts directory instead of current files (for edited files)
 * - Excludes files that have .sbswap.add markers in the drafts directory (draft additions)
 * - Excludes .sbswap.edit and .sbswap.add marker files themselves
 *
 * @param localDirectoryPath - The path to the local directory to snapshot.
 * @param appRootPath - The app root path (defaults to localDirectoryPath for top-level calls).
 * @param editMarkerMap - Map of edit markers (for internal recursive use).
 * @param addMarkerSet - Set of add markers (for internal recursive use).
 * @returns A promise that resolves to a snapshot of the committed state.
 */
export declare function snapshotLocalDirectoryCommittedState(localDirectoryPath: string, appRootPath?: string, editMarkerMap?: Map<string, Buffer>, addMarkerSet?: Set<string>): Promise<DirectorySnapshot>;
/**
 * Takes a snapshot of a local directory, prioritizing .sbswap files for content.
 * .sbswap files themselves are not included in the snapshot output.
 *
 * @param localDirectoryPath - The path to the local directory to snapshot.
 * @returns A promise that resolves to a snapshot of the local directory, reflecting draft states.
 */
export declare function snapshotLocalDirectoryWithDrafts(localDirectoryPath: string): Promise<DirectorySnapshot>;
//# sourceMappingURL=take-snapshot.d.ts.map