import { ILiterals } from './literals.interface'; import { II18nUpdateOptions } from './i18n-update-options.interface'; import { Observable } from 'rxjs'; import { IBaseMessage } from './../messaging/base-message.interface'; import { ITextMessage } from './../messaging/text-message.interface'; import { II18nBaseLanguage } from './i18n-base-language.interface'; /** * Interface Base do serviço de internacionalização */ export interface II18nBaseService { /** Literais */ literals: ILiterals; /** Método responsável por setar os atributos definidos da internacionalização */ updateOptions(options: II18nUpdateOptions): Observable; /** Método responsável por receber a literal e retornar traduzida */ text(baseMsg: IBaseMessage): ITextMessage; /** Método responsável por formatar o texto informado */ format(data: any[], text: string): string; /** Método responsável por retornar a opção de linguagem */ getLanguage(): string; /** Método responsável por retornar os idiomas suportados pela aplicação */ getSupportedLanguages(): Array; }