export interface FileSystemAdapter {
    mkdir(dirPath: string, options?: {
        recursive?: boolean;
    }): Promise<void>;
    writeFile(filePath: string, data: string): Promise<void>;
    readFile(filePath: string, encoding: string): Promise<string>;
    readdir(dirPath: string): Promise<string[]>;
    unlink(filePath: string): Promise<void>;
    access(filePath: string): Promise<void>;
}
export declare class NodeFileSystemAdapter implements FileSystemAdapter {
    mkdir(dirPath: string, options?: {
        recursive?: boolean;
    }): Promise<void>;
    writeFile(filePath: string, data: string): Promise<void>;
    readFile(filePath: string, encoding: string): Promise<string>;
    readdir(dirPath: string): Promise<string[]>;
    unlink(filePath: string): Promise<void>;
    access(filePath: string): Promise<void>;
}
export declare class InMemoryFileSystemAdapter implements FileSystemAdapter {
    private files;
    private directories;
    mkdir(dirPath: string, options?: {
        recursive?: boolean;
    }): Promise<void>;
    writeFile(filePath: string, data: string): Promise<void>;
    readFile(filePath: string, encoding: string): Promise<string>;
    readdir(dirPath: string): Promise<string[]>;
    unlink(filePath: string): Promise<void>;
    access(filePath: string): Promise<void>;
    clear(): void;
    getFileCount(): number;
    hasFile(filePath: string): boolean;
    hasDirectory(dirPath: string): boolean;
}
//# sourceMappingURL=file-system-adapter.d.ts.map