/** * I18n — framework dostarcza KONTRAKT, projekt implementuje adapter. * * Gotowe adaptery opt-in: @echelon-framework/i18n-angular (natywny @angular/localize), * @echelon-framework/i18n-transloco, @echelon-framework/i18n-mock. * * Linter wymusza: literalne stringi w configu dashboardu są błędem * (reguła `require-i18n-key`). */ import type { Observable } from 'rxjs'; export type Locale = string & { readonly _brand: 'Locale'; }; export declare const asLocale: (value: string) => Locale; export interface I18nService { readonly locale$: Observable; current(): Locale; setLocale(locale: Locale): Promise; t(key: string, params?: Readonly>): string; formatNumber(value: number, options?: Intl.NumberFormatOptions): string; formatDate(value: Date | number, options?: Intl.DateTimeFormatOptions): string; formatCurrency(value: number, currency: string, options?: Intl.NumberFormatOptions): string; } export declare const I18N: import("../index.js").EchelonToken; //# sourceMappingURL=index.d.ts.map