import { Agent } from "./base";
import { AgentContext } from "../core/context";
import { Tool, IMcpClient } from "../types";
export declare const AGENT_NAME = "File";
export default abstract class BaseFileAgent extends Agent {
    constructor(work_path?: string, llms?: string[], ext_tools?: Tool[], mcpClient?: IMcpClient, planDescription?: string);
    protected abstract file_list(agentContext: AgentContext, path: string): Promise<Array<{
        path: string;
        name?: string;
        isDirectory?: boolean;
        size?: string;
        modified?: string;
    }>>;
    protected abstract file_read(agentContext: AgentContext, path: string): Promise<string>;
    protected do_file_read(agentContext: AgentContext, path: string, write_variable: string): Promise<{
        file_context: string;
        write_variable?: string;
    }>;
    protected abstract file_write(agentContext: AgentContext, path: string, content: string, append: boolean): Promise<any>;
    protected do_file_write(agentContext: AgentContext, path: string, append: boolean, content?: string, from_variable?: string): Promise<any>;
    protected abstract file_str_replace(agentContext: AgentContext, path: string, old_str: string, new_str: string): Promise<any>;
    protected abstract file_find_by_name(agentContext: AgentContext, path: string, glob: string): Promise<Array<{
        path: string;
        name?: string;
        isDirectory?: boolean;
        size?: string;
        modified?: string;
    }>>;
    private buildInitTools;
}
export { BaseFileAgent };
//# sourceMappingURL=file.d.ts.map