import type { TranslateExecutionPlanResult, TranslatePlanBlocker, TranslatePlanBlockerCode, TranslateSettingsSnapshot } from "./execution-plan.js"; import type { TranslationLanguageResult, TranslationRunResult, TranslationRunStatus } from "./results.js"; export type { TranslateSettingsSnapshot } from "./execution-plan.js"; type TranslateDebugEntry = NonNullable[number]; export interface LanguagePreviewResult { readonly batches: number; readonly error?: string; readonly failed?: number; readonly language: string; readonly mergedFromExisting?: number; readonly outputFile: string; readonly skipReason?: TranslationLanguageResult["skipReason"]; readonly skippedByExisting?: number; readonly skippedByLimit: number; readonly sourceStrings: number; readonly state?: TranslationLanguageResult["state"]; readonly status?: string; readonly strings: number; readonly translated: number; readonly validation?: TranslationLanguageResult["validation"]; readonly warning?: string; } export interface TranslateUiResult { readonly analysis?: { readonly contextStrings: number; readonly filePath: string; readonly fuzzyStrings: number; readonly pluralStrings: number; readonly sourceCharacters: number; readonly totalStrings: number; }; readonly error?: { readonly code: TranslatePlanBlockerCode; readonly collisions?: TranslatePlanBlocker["collisions"]; readonly message: string; readonly potFilePath?: string; readonly suppressOutputFile?: boolean; }; readonly implemented: boolean; readonly mode: "dry-run" | "translate"; readonly plan: { readonly batchSize: number; readonly dryRun: boolean; readonly forceTranslate: boolean; readonly jobs: number; readonly languages: readonly string[]; readonly maxStringsPerJob?: number; readonly maxTotalStrings?: number; readonly model: string; readonly outputDir: string; readonly potFilePath?: string; readonly provider: string; readonly settings: TranslateSettingsSnapshot; readonly sourceLanguage: string; }; readonly results: readonly LanguagePreviewResult[]; readonly status: "blocked" | TranslationRunStatus; readonly summary: string; readonly debug?: readonly TranslateDebugEntry[]; readonly totals?: TranslationRunResult["totals"]; readonly validation?: TranslationRunResult["validation"]; } export declare function runTranslateUiPreview(planResult: TranslateExecutionPlanResult): Promise;