import { WritableSignal } from '@angular/core';
export const CHANNEL = {
EXPERT: 'expert',
RETAIL: 'retail'
} as const;
export type CHANNEL = (typeof CHANNEL)[keyof typeof CHANNEL];
export interface EnvObj {
production: boolean;
generatorsVersionUsed: string;
BFF_BASE_URL: string;
PERSIST_ACL_POLICY_URL: string;
HEADER_LOGO_LINK_URL: string;
TRACKING_APP_NAME: string;
TRACKING_ADOBE_URL: string;
[key: string]: unknown;
}
export type JourneyTarget = 'app' | 'webcomponent' | 'module';
export interface AppRootElementRef {
nativeElement: WritableSignal<HTMLElement | undefined>;
/**
* Provided only if app is built as webcomponent with Shadow DOM encapsulation enabled.
*/
shadowRoot?: WritableSignal<ShadowRoot | undefined>;
}
export interface ThemeOption {
id: string;
label: string;
url: URL;
}
export interface ThemeConfig {
themes: ThemeOption[];
}