import type { AutomationMode } from "./modes.js"; import type { InteractionRequest } from "./intents.js"; import type { InteractionSession } from "./session.js"; type ReviseMode = "local-fix" | "rewrite"; export interface InteractionRuntimeTools { readonly listBooks: () => Promise>; readonly developBookDraft?: (input: string, existingDraft?: InteractionSession["creationDraft"]) => Promise; readonly createBook?: (input: { readonly title: string; readonly genre?: string; readonly platform?: string; readonly language?: "zh" | "en"; readonly chapterWordCount?: number; readonly targetChapters?: number; readonly blurb?: string; readonly worldPremise?: string; readonly settingNotes?: string; readonly protagonist?: string; readonly supportingCast?: string; readonly conflictCore?: string; readonly volumeOutline?: string; readonly constraints?: string; readonly authorIntent?: string; readonly currentFocus?: string; }) => Promise; readonly exportBook?: (bookId: string, options: { readonly format?: "txt" | "md" | "epub"; readonly approvedOnly?: boolean; readonly outputPath?: string; }) => Promise; readonly chat?: (input: string, options: { readonly bookId?: string; readonly automationMode: AutomationMode; }) => Promise; readonly writeNextChapter: (bookId: string) => Promise; readonly reviseDraft: (bookId: string, chapterNumber: number, mode: ReviseMode) => Promise; readonly patchChapterText: (bookId: string, chapterNumber: number, targetText: string, replacementText: string) => Promise; readonly renameEntity: (bookId: string, oldValue: string, newValue: string) => Promise; readonly updateCurrentFocus: (bookId: string, content: string) => Promise; readonly updateAuthorIntent: (bookId: string, content: string) => Promise; readonly writeTruthFile: (bookId: string, fileName: string, content: string) => Promise; } export interface InteractionRuntimeResult { readonly session: InteractionSession; readonly responseText?: string; readonly details?: Readonly>; } export declare function runInteractionRequest(params: { readonly session: InteractionSession; readonly request: InteractionRequest; readonly tools: InteractionRuntimeTools; }): Promise; export {}; //# sourceMappingURL=runtime.d.ts.map