/** * Tenant — multi-tenant context propagation. * * Kontrakt dla aplikacji SaaS serving wielu klientów z jednej instancji. * Tenant kontekst wpływa na: * - feature flags (FeatureFlagContext.tenantId), * - branding / theming (logo, paleta kolorów), * - endpoint mapping (per-tenant API bases), * - datasource overrides, * - widgetów/adapters pluggable per tenant. */ import type { Observable } from 'rxjs'; export interface TenantBranding { readonly displayName?: string; readonly logoUrl?: string; readonly primaryColor?: string; readonly accentColor?: string; /** Nadpisania CSS custom-properties (kolory, tła, pillsy). */ readonly cssVariables?: Readonly>; } export interface TenantContext { readonly tenantId: string; readonly displayName?: string; readonly branding?: TenantBranding; readonly endpoints?: Readonly>; /** Domyślny locale dla tenanta — fallback gdy user nie ma własnego. */ readonly defaultLocale?: string; /** Feature flags override — zmapowane na `FeatureFlagDefinition` partial. */ readonly featureFlagOverrides?: Readonly>; /** Opcjonalny klucz trasowania (np. region: 'eu-west-1'). */ readonly region?: string; /** Dowolne meta (pochodzenie, industry, role-gates). */ readonly meta?: Readonly>; } export interface TenantContextService { readonly context$: Observable; current(): TenantContext | null; setContext(context: TenantContext | null): void; } export declare const TENANT_CONTEXT: import("../index.js").EchelonToken; //# sourceMappingURL=index.d.ts.map