import { Injector } from '@angular/core'; import { Observable } from 'rxjs/Observable'; import { AuthService } from '../../auth/auth.service'; import { AppConfigurationService } from '../../common/app-configuration.service'; import { EventsManagerService } from '../../common/events-manager.service'; import { HttpInterceptor } from '../../common/http-interceptor.service'; import { DatabaseService } from '../../storage/database.service'; import { ResourceReaderService } from '../resource-reader.service'; export declare class SmartenitTranslationService extends ResourceReaderService { static readonly I18N_KEY: string; static readonly LANGUAGES: { ENGLISH: string; PORTUGUESE: string; SPANISH: string; }; private language; constructor(http: HttpInterceptor, authService: AuthService, databaseService: DatabaseService, eventsService: EventsManagerService, AppConfiguration: AppConfigurationService, injector: Injector); loadResources(): void; protected buildInitialData(): Observable; protected processData(remoteData: any): void; /** * Set the language for translations * @param value New language */ setLanguage(value: string): void; /** * Translate a text based on a key to the desired language * @param key Key for the text */ translate(key: string): Observable; /** * Translate multiple texts based on their keys to the desired language * @param keys Keys for the texts */ multiTranslate(keys: string[]): Observable<{ [key: string]: string; }>; /** * Translate a text based on a key to the desired language * @param key Key for the text */ performTranslation(key: string): string; /** * Retrieves the current translation resource */ getResource(lang?: string): any; /** * Reorder the words in a sentences based on the language * @param subject Subject of the sentence * @param adjective Adjective for the subject */ reorderSentence(subject: string, adjective: string): string; }