import type { EpsEntity } from '../../../typings/routing/eps';
import type { CrudService } from '../../../typings/admin/comm/crud';
export type DataI18nLangOption = {
    label: string;
    value: string;
    flag?: string;
    name?: string;
};
/** 语种下拉统一格式：label = 名称（如「英语」），value = code；与 i18n 语种 / 壳包编辑器一致 */
export declare function mapLangOptions(raw: unknown): DataI18nLangOption[];
/**
 * 与 i18n 语种管理同源：enabled → list({ status:1 }) → page
 * 各处语种下拉必须走此函数，禁止再各自拼 `name (code)`
 */
export declare function loadEnabledLangOptions(service: unknown): Promise<DataI18nLangOption[]>;
export type DataI18nFieldMeta = {
    name: string;
    label: string;
};
export type DataI18nEntriesResult = {
    fields: DataI18nFieldMeta[];
    list: Array<{
        id: string;
        values: Record<string, string>;
        sources: Record<string, string>;
    }>;
};
type DataPackSvc = {
    translateTable?: (body: Record<string, unknown>) => Promise<unknown>;
    entries?: (q: {
        tableName: string;
        langCode: string;
        sourceLangCode?: string;
    }) => Promise<DataI18nEntriesResult>;
    chatModels?: () => Promise<Array<{
        code?: string;
    }>>;
    updateEntry?: (body: Record<string, unknown>) => Promise<unknown>;
    deleteEntry?: (body: Record<string, unknown>) => Promise<unknown>;
};
export declare function dataPackFromService(service: unknown): DataPackSvc | undefined;
export declare function resolveEpsEntity(crudService: CrudService | undefined): EpsEntity & {
    dataI18n?: boolean;
    dataI18nFields?: string[];
};
export declare function resolveDataI18nTableName(entity: EpsEntity | undefined, override?: string): string;
/**
 * 语言 Tab：实体 Controller `api` 含 dataI18n（声明位，非 HTTP）
 * + EPS 已下发 service.i18n.dataPack.translateTable
 */
export declare function canUseDataI18n(crudService: CrudService | undefined, hostService: unknown, tableOverride?: string): {
    ok: boolean;
    tableName: string;
    entity?: EpsEntity & {
        dataI18n?: boolean;
        dataI18nFields?: string[];
    };
};
export {};
