import type { Logger } from "@/observability/logger/types"; /** * Contract a host application must implement to embed this component * as an MF 2.0 remote. Both standalone SSR and remote modes satisfy * this interface; features depend only on HostContract and never on * the hosting mode. */ export interface HostContract { /** Resolved locale, e.g. "ru", "en". */ locale: string; /** Canonical origin for SEO (e.g. "https://flights.aeroflot.ru"). */ canonicalOrigin: string; /** Optional deep-link navigation override from the host router. */ navigate?: (path: string) => void; /** Optional consent flags; absent == assumed true. */ consent?: { analytics: boolean; telemetry: boolean }; /** Optional host logger for log stream merging. */ logger?: Logger; }