export interface KeycloakConfig { url: string; realm: string; clientId: string; } export interface LinkItem { name: string; url: string; icon?: string; } export interface MenuSection { name: string; links: LinkItem[]; } export interface LocalMenuSection { name: string; enableCustomLocalMenu: boolean; links: LinkItem[]; } export interface MenuConfig { global: MenuSection; local: LocalMenuSection; } export interface LoadingConfig { isLoading: boolean; duration: number; } export interface AppConfig { keycloak: KeycloakConfig; defaultLink: LinkItem; menuViewType: string; cookieName: string; menu: MenuConfig; loading?: LoadingConfig; allowedGlobalDomain: string; whitelistedUrls: string; } declare class ConfigService { private static instance; private _config; static getInstance(): ConfigService; fetchConfig(portalApiUrl: string): Promise; /** * Return cached config without calling API */ get config(): AppConfig; } export declare const configService: ConfigService; export {};