import { Observable } from 'rxjs';
/**
 * 语种 DTO 接口 - 与 Designer 中的 API 返回格式保持一致
 */
export interface ConfigureLanguageDto {
    name: string;
    displayName: string;
    icon: string;
    isDefault: boolean;
    isSystem: boolean;
}
/**
 * 语种服务接口
 * 提供语种的查询能力，供 GUI 组件使用
 */
export interface LanguageService {
    /**
     * 获取所有语种
     */
    getLanguages(): ConfigureLanguageDto[];
    /**
     * 获取默认语言代码
     */
    getDefaultLanguage(): string;
    /**
     * 根据语种代码获取语种信息
     */
    getLanguageByCode(code: string): ConfigureLanguageDto | null;
    /**
     * 检查是否有缓存数据
     */
    hasCache(): boolean;
    /**
     * 缓存更新事件 (可选)
     */
    readonly cacheUpdated?: Observable<void>;
}
