import type { AgentTool } from "@mariozechner/pi-agent-core";
import type { PipelineRunner } from "../pipeline/runner.js";
declare const SubAgentParams: import("@sinclair/typebox").TObject<{
    agent: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"architect">, import("@sinclair/typebox").TLiteral<"writer">, import("@sinclair/typebox").TLiteral<"auditor">, import("@sinclair/typebox").TLiteral<"reviser">, import("@sinclair/typebox").TLiteral<"exporter">]>;
    instruction: import("@sinclair/typebox").TString;
    bookId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    chapterNumber: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
    title: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    genre: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    platform: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"tomato">, import("@sinclair/typebox").TLiteral<"qidian">, import("@sinclair/typebox").TLiteral<"feilu">, import("@sinclair/typebox").TLiteral<"other">]>>;
    language: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"zh">, import("@sinclair/typebox").TLiteral<"en">]>>;
    targetChapters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
    chapterWordCount: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
    revise: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    mode: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"spot-fix">, import("@sinclair/typebox").TLiteral<"polish">, import("@sinclair/typebox").TLiteral<"rewrite">, import("@sinclair/typebox").TLiteral<"rework">, import("@sinclair/typebox").TLiteral<"anti-detect">]>>;
    format: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"txt">, import("@sinclair/typebox").TLiteral<"md">, import("@sinclair/typebox").TLiteral<"epub">]>>;
    approvedOnly: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
}>;
export declare function createSubAgentTool(pipeline: PipelineRunner, activeBookId: string | null, projectRoot?: string): AgentTool<typeof SubAgentParams>;
declare const ShortFictionRunParams: import("@sinclair/typebox").TObject<{
    direction: import("@sinclair/typebox").TString;
    reference: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    storyId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    chapters: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
    chars: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
    cover: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
    coverBaseUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverEndpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverModel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverApiKeyEnv: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare function createShortFictionRunTool(pipeline: PipelineRunner, projectRoot: string): AgentTool<typeof ShortFictionRunParams>;
declare const GenerateCoverParams: import("@sinclair/typebox").TObject<{
    title: import("@sinclair/typebox").TString;
    intro: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    sellingPoints: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverPrompt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    outputDir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverBaseUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverEndpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverModel: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverSize: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    coverApiKeyEnv: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare function createGenerateCoverTool(projectRoot: string): AgentTool<typeof GenerateCoverParams>;
declare const WriteTruthFileParams: import("@sinclair/typebox").TObject<{
    bookId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    fileName: import("@sinclair/typebox").TString;
    content: import("@sinclair/typebox").TString;
}>;
export declare function createWriteTruthFileTool(pipeline: PipelineRunner, projectRoot: string, activeBookId: string | null): AgentTool<typeof WriteTruthFileParams>;
declare const RenameEntityParams: import("@sinclair/typebox").TObject<{
    bookId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    oldValue: import("@sinclair/typebox").TString;
    newValue: import("@sinclair/typebox").TString;
}>;
export declare function createRenameEntityTool(pipeline: PipelineRunner, projectRoot: string, activeBookId: string | null): AgentTool<typeof RenameEntityParams>;
declare const PatchChapterTextParams: import("@sinclair/typebox").TObject<{
    bookId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
    chapterNumber: import("@sinclair/typebox").TNumber;
    targetText: import("@sinclair/typebox").TString;
    replacementText: import("@sinclair/typebox").TString;
}>;
export declare function createPatchChapterTextTool(pipeline: PipelineRunner, projectRoot: string, activeBookId: string | null): AgentTool<typeof PatchChapterTextParams>;
declare const ReadParams: import("@sinclair/typebox").TObject<{
    path: import("@sinclair/typebox").TString;
}>;
export interface ReadToolOptions {
    readonly allowSystemPaths?: boolean;
}
export declare function createReadTool(projectRoot: string, options?: ReadToolOptions): AgentTool<typeof ReadParams>;
declare const EditParams: import("@sinclair/typebox").TObject<{
    path: import("@sinclair/typebox").TString;
    old_string: import("@sinclair/typebox").TString;
    new_string: import("@sinclair/typebox").TString;
}>;
export declare function createEditTool(projectRoot: string): AgentTool<typeof EditParams>;
declare const WriteFileParams: import("@sinclair/typebox").TObject<{
    path: import("@sinclair/typebox").TString;
    content: import("@sinclair/typebox").TString;
}>;
export declare function createWriteFileTool(projectRoot: string): AgentTool<typeof WriteFileParams>;
declare const GrepParams: import("@sinclair/typebox").TObject<{
    bookId: import("@sinclair/typebox").TString;
    pattern: import("@sinclair/typebox").TString;
}>;
export declare function createGrepTool(projectRoot: string): AgentTool<typeof GrepParams>;
declare const LsParams: import("@sinclair/typebox").TObject<{
    bookId: import("@sinclair/typebox").TString;
    subdir: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare function createLsTool(projectRoot: string): AgentTool<typeof LsParams>;
export {};
//# sourceMappingURL=agent-tools.d.ts.map