import { Observable } from 'rxjs';
/**
 * 文本条目接口
 */
export interface TextEntry {
    key: string;
    value: string;
    cultures: {
        [key: string]: string;
    };
}
/**
 * 文本库缓存数据接口
 */
export interface TextLibraryCacheData {
    id: number;
    name: string;
    data: TextEntry[];
}
/**
 * 文本库服务接口
 * 提供文本库的查询能力，供 GUI 组件使用
 */
export interface TextLibraryService {
    /**
     * 获取所有文本库
     */
    getAllTextLibraries(): TextLibraryCacheData[];
    /**
     * 根据ID获取文本库
     */
    getTextLibraryById(id: number): TextLibraryCacheData | null;
    /**
     * 根据文本库ID和条目key获取文本条目
     */
    getTextEntry(textLibraryId: number, entryKey: string): TextEntry | null;
    /**
     * 根据文本库ID、条目key和语言获取文本值
     */
    getTextValue(textLibraryId: number, entryKey: string, culture?: string): string | null;
    /**
     * 检查是否有缓存数据
     */
    hasCache(): boolean;
    /**
     * 缓存更新事件 (可选)
     */
    readonly cacheUpdated?: Observable<void>;
}
