import { SDKRouterMode } from './routes'; import { SiteConfig } from './site-config'; import { SDKMode, SDKUrlOverrides } from './environment'; export type { SDKMode, SDKUrlOverrides } from './environment'; /** * SDK 初始化参数。 * - key: 授权密钥。 * - mode: 运行模式(必填,仅支持 'production' | 'development')。 * - apiBaseUrl / viewerBaseUrl: 可选覆盖地址;默认由 mode 自动解析。 */ export interface SDKInitOptions extends SDKUrlOverrides { key: string; mode: SDKMode; siteConfig?: SiteConfig; /** * 指定默认语言(如 "zh-CN" | "en")。 * 不传则默认读取浏览器语言。组件级 site-config.locale 优先级更高。 */ locale?: string; /** * 前端路由模式。静态 OSS/CDN 子目录部署时建议使用 "hash"。 */ routerMode?: SDKRouterMode; } /** * 运行配置快照。 */ export interface RuntimeSDKConfig { key?: string; mode: SDKMode; apiBaseUrl: string; viewerBaseUrl: string; routerMode: SDKRouterMode; siteConfig?: SiteConfig; } type ConfigListener = (config: Readonly) => void; declare class ConfigManager { private static instance; private config; private listeners; private constructor(); static getInstance(): ConfigManager; init(options: SDKInitOptions): void; getConfig(): Readonly; getKey(): string | undefined; getMode(): SDKMode; getApiBaseUrl(): string; getViewerBaseUrl(): string; setApiBaseUrl(apiBaseUrl: string): void; setViewerBaseUrl(viewerBaseUrl: string): void; getSiteConfig(): SiteConfig; subscribe(listener: ConfigListener): () => void; private emit; } export declare const configManager: ConfigManager; export declare function initSDK(options: SDKInitOptions): void;