import type { FileSystem } from "../types.js";
export interface MockFileSystem extends FileSystem {
    /** Current file contents, keyed by absolute path */
    files: Record<string, string>;
    /** Created directories */
    directories: Set<string>;
    /** Check if a path exists (file or directory) */
    exists(path: string): boolean;
    /** Get file content or undefined if not found */
    getContent(path: string): string | undefined;
    /** Read file with encoding overloads for compatibility */
    readFile(path: string, encoding: BufferEncoding): Promise<string>;
    readFile(path: string): Promise<Buffer>;
}
export interface MockFsOptions {
    /** Initial files - paths can use ~ which will be expanded to homeDir */
    [path: string]: string;
}
/**
 * Create an in-memory mock filesystem for testing mutations.
 *
 * @param initialFiles - Initial files to populate the filesystem with
 * @param homeDir - Home directory for ~ expansion (defaults to /home/test)
 */
export declare function createMockFs(initialFiles?: MockFsOptions, homeDir?: string): MockFileSystem;
