import { Tag } from "../../../types/tag.types.js";
import { AIConfig, AIOptions } from "../aiSdk.js";
import { Locale } from "@intlayer/types";

//#region src/utils/AI/translateJSON/index.d.ts
type TranslateJSONOptions = {
  entryFileContent: JSON;
  presetOutputContent: JSON;
  dictionaryDescription?: string;
  entryLocale: Locale;
  outputLocale: Locale;
  tags: Tag[];
  aiConfig: AIConfig;
  mode: 'complete' | 'review';
  applicationContext?: string;
};
type TranslateJSONResultData = {
  fileContent: string;
  tokenUsed: number;
};
declare const aiDefaultOptions: AIOptions;
/**
 * TranslateJSONs a content declaration file by constructing a prompt for AI models.
 * The prompt includes details about the project's locales, file paths of content declarations,
 * and requests for identifying issues or inconsistencies.
 */
declare const translateJSON: ({
  entryFileContent,
  presetOutputContent,
  dictionaryDescription,
  aiConfig,
  entryLocale,
  outputLocale,
  tags,
  mode,
  applicationContext
}: TranslateJSONOptions) => Promise<TranslateJSONResultData | undefined>;
//#endregion
export { TranslateJSONOptions, TranslateJSONResultData, aiDefaultOptions, translateJSON };
//# sourceMappingURL=index.d.ts.map