import { Tag } from "../../../types/tag.types.js";
import { AIConfig, AIOptions, AIProvider, TranslateJSONResultData } from "@intlayer/ai";
import { Locale } from "@intlayer/types/allLocales";

//#region src/utils/AI/translateJSON/index.d.ts
type TranslateJSONOptions<T = JSON> = {
  entryFileContent: T;
  presetOutputContent: Partial<T>;
  dictionaryDescription?: string;
  entryLocale: Locale;
  outputLocale: Locale;
  tags: Tag[];
  aiConfig: AIConfig;
  mode: 'complete' | 'review';
  applicationContext?: string;
};
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: <T = JSON>(options: TranslateJSONOptions<T>) => Promise<TranslateJSONResultData<T> | undefined>;
//#endregion
export { AIProvider, TranslateJSONOptions, type TranslateJSONResultData, aiDefaultOptions, translateJSON };
//# sourceMappingURL=index.d.ts.map