import type { ReleaseNotes } from './release-notes.js'; import type { TranslationModel } from './translation/translation-model.js'; /** Editable prompt, relative to the repo root. Edit this file to tune the translation. */ export declare const TRANSLATION_PROMPT_RELATIVE_PATH = ".development/release-notes-prompt.md"; /** Loads the translation system prompt: the editable repo file, or the built-in fallback. */ export declare function loadTranslationPrompt(cwd: string, promptFile?: string): Promise; /** Reads a single commit's diff for the model's get_commit_diff tool. Validates the hash first. */ export declare function getCommitDiff(cwd: string, hash: string): Promise; /** * Searches the committed files at a commit for the model's grep_codebase tool, like `git grep`. * Validates the commit hash and feeds the pattern via `-e` so it can never be read as an option; * `run` invokes git without a shell, so the pattern and pathspec are safe positional arguments. */ export declare function grepCodebase(cwd: string, input: Record): Promise; /** Builds the user message: the English notes plus the context the model needs. */ export declare function buildTranslationUserMessage(notes: ReleaseNotes, englishMarkdown: string): string; /** * Produces the Dutch end-user translation of the release notes using the given model. * The model may call get_commit_diff (resolved against the local git repo) for unclear commits. */ export declare function translateReleaseNotes(cwd: string, notes: ReleaseNotes, englishMarkdown: string, model: TranslationModel, options?: { promptFile?: string; onToolCall?: (call: { name: string; input: Record; }) => void; }): Promise; export type ComposeReleaseNotesOptions = { /** Skip translation entirely and return only the English notes. */ skipTranslation?: boolean; provider?: string; model?: string; promptFile?: string; onInfo?: (message: string) => void; onWarn?: (message: string) => void; }; /** * Returns the English release notes with the Dutch end-user translation appended. Falls back to * the English-only notes when translation is skipped, the API key is missing, or the model errors. */ export declare function composeReleaseNotesBody(cwd: string, notes: ReleaseNotes, englishMarkdown: string, options?: ComposeReleaseNotesOptions): Promise; //# sourceMappingURL=release-notes-translator.d.ts.map