import type { BaseField, CollectionWithDefaults, Entry, Field, I18nInfo, I18nStructure, ObjectValue, i18nCollection } from '../interface'; import type { EntryDraftState } from '../reducers/entryDraft'; export declare const I18N_STRUCTURE_MULTIPLE_FOLDERS = "multiple_folders"; export declare const I18N_STRUCTURE_MULTIPLE_FILES = "multiple_files"; export declare const I18N_STRUCTURE_SINGLE_FILE = "single_file"; export declare const I18N_FIELD_TRANSLATE = "translate"; export declare const I18N_FIELD_DUPLICATE = "duplicate"; export declare const I18N_FIELD_NONE = "none"; export declare function hasI18n(collection: CollectionWithDefaults | i18nCollection): collection is i18nCollection; export declare function getI18nInfo(collection: i18nCollection): I18nInfo; export declare function getI18nInfo(collection: CollectionWithDefaults): I18nInfo | null; export declare function getI18nFilesDepth(collection: CollectionWithDefaults, depth: number): number; export declare function isFieldTranslatable(field: Field, locale?: string, defaultLocale?: string): boolean; export declare function isFieldDuplicate(field: Field, locale?: string, defaultLocale?: string): boolean; export declare function isFieldHidden(field: Field, locale?: string, defaultLocale?: string): boolean; export declare function getLocaleDataPath(locale: string): string[]; export declare function getDataPath(locale: string, defaultLocale: string | undefined): string[]; export declare function getFilePath(structure: I18nStructure, extension: string, path: string, slug: string, locale: string): string; export declare function getLocaleFromPath(structure: I18nStructure, extension: string, path: string): string | undefined; export declare function getFilePaths(collection: CollectionWithDefaults, extension: string, path: string, slug: string): string[]; export declare function normalizeFilePath(structure: I18nStructure, path: string, locale: string | undefined): string; export interface i18nFile { newPath?: string | undefined; path: string; slug: string; raw: string; } export declare function getI18nFiles(collection: CollectionWithDefaults, extension: string, entryDraft: Entry, entryToRaw: (entryDraft: Entry) => string, path: string, slug: string, newPath?: string): i18nFile[]; export declare function getI18nBackup(collection: CollectionWithDefaults, entry: Entry, entryToRaw: (entry: Entry) => string): Record; export declare function formatI18nBackup(i18nBackup: Record, formatRawData: (raw: string) => Entry): {}; export declare function getI18nEntry(collection: CollectionWithDefaults, extension: string, path: string, slug: string, getEntryValue: (path: string) => Promise): Promise>; export declare function groupEntries(collection: CollectionWithDefaults, extension: string, entries: Entry[]): Entry[]; export declare function getI18nDataFiles(collection: CollectionWithDefaults, extension: string, path: string, slug: string, diffFiles: { path: string; id: string; newFile: boolean; }[]): { path: string; id: string; newFile: boolean; }[]; export declare function duplicateDefaultI18nFields(collection: CollectionWithDefaults, dataFields: any): { [k: string]: { data: any; }; }; export declare function duplicateI18nFields(entryDraft: EntryDraftState, field: Field, locales: string[], defaultLocale: string, fieldPath: string): EntryDraftState; export declare function getPreviewEntry(collection: CollectionWithDefaults, entry: Entry, locale: string | undefined, defaultLocale: string | undefined): Entry; export declare function serializeI18n(collection: CollectionWithDefaults, entry: Entry, serializeValues: (data: any) => any): Entry;