import { Workspace, DirectoryEntry, SyncWorkspace } from '../agent-utils/index.js';
export declare class FileSystemWorkspace implements Workspace, SyncWorkspace {
    private _workspacePath;
    private _fs;
    constructor(_workspacePath: string, _fs: any);
    toWorkspacePath(subpath: string): string;
    writeFile(subpath: string, data: string): Promise<void>;
    readFile(subpath: string): Promise<string>;
    exists(subpath: string): Promise<boolean>;
    rename(oldPath: string, newPath: string): Promise<void>;
    mkdir(subpath: string): Promise<void>;
    rmdir(subpath: string, opts?: {
        recursive: boolean;
    }): Promise<void>;
    readdir(subpath: string): Promise<DirectoryEntry[]>;
    appendFile(subpath: string, data: string): Promise<void>;
    rm(subpath: string): Promise<void>;
    writeFileSync(subpath: string, data: string): void;
    readFileSync(subpath: string): string;
    existsSync(subpath: string): boolean;
    renameSync(oldPath: string, newPath: string): void;
    rmSync(subpath: string): void;
    mkdirSync(subpath: string, opts?: {
        recursive: boolean;
    }): void;
    rmdirSync(subpath: string, opts?: {
        recursive: boolean;
    }): void;
    readdirSync(subpath: string): DirectoryEntry[];
    appendFileSync(subpath: string, data: string): void;
    exec(command: string, args?: string[], timeout?: number): Promise<{
        exitCode: number;
        stdout: string;
        stderr: string;
    }>;
}
