21 lines
785 B
TypeScript
21 lines
785 B
TypeScript
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;
|
|
}
|