import * as rxjs from 'rxjs'; import { BehaviorSubject } from 'rxjs'; declare class UniLocaleManager { /** Codice lingua corrente (es. 'it-IT', 'en-US') usato per formattare date e numeri */ private static _locale; /** Elenco dei codici lingua supportati dall'applicazione (es. ['it-IT', 'en-US']) */ private static _localesSupported; /** Prefisso globale applicato a tutte le chiavi di traduzione (es. 'APP_') */ private static _prefix; /** Restituisce il codice lingua corrente */ static get locale(): string; /** Restituisce l'array contenente tutti i codici locale supportati.*/ static get localesSupported(): string[]; /** Restituisce solo la lingua (es. 'it') */ static get language(): string; /** Restituisce solo il paese (es. 'IT') */ static get region(): string; /** Store privato (Subject) */ static store: BehaviorSubject>; /** Store pubblico (Observable) */ static store$: rxjs.Observable>; /** Ottiene il dizionario attuale senza sottoscrizione */ static get currentValue(): Record; /** * Inizializza la configurazione di rete del manager. * Deve essere chiamato prima di effettuare qualsiasi richiesta HTTP. */ static setup(locale: string | null | undefined, prefix?: string): void; /** Imposta l'elenco dei codici lingua supportati dall'applicazione */ static setLocalesSupported(locales: string[] | undefined): void; /** * Aggiorna lo store locale con il dizionario delle traduzioni fornito. * Se viene passato undefined, lo store viene inizializzato come oggetto vuoto. */ static setTranslations(translations: Record | undefined): void; /** * Traduce una label in base al dizionario caricato. * Gestisce la composizione della chiave, i parametri dinamici (interpolazione) e il fallback. */ static translate(key: string, prefix?: string, params?: Record): string; /** * Traduce una stringa che contiene parametri separati da un carattere specifico. * Supporta ora un numero arbitrario di parametri in formato "label/param1/param2" * o semplicemente "label". */ static translateInlineParams(keyWithParams: string, splitChar: string): string; /** * Converte un valore numerico in una stringa formattata secondo il locale impostato. * Disabilita i separatori delle migliaia e forza un numero fisso di decimali. */ static toStringNumber(value: number, decimal: number): string; /** * Formatta una data o una stringa in base al locale corrente. * Gestisce tre modalità predefinite (date, time, full) e accetta opzioni personalizzate Intl. */ static toDate(date: Date | string | number, mode?: 'date' | 'time' | 'full', force?: { oldLang: string; newLocale: string; }): string; } export { UniLocaleManager };