import { ReactNode } from 'react';

export interface SiteBrand {
    logo: string;
    name: string;
    primaryColor: string;
}
/** 功能开关 — 按类别分组，每个 site-XXX 独立配置 */
export interface FeatureFlags {
    blog: boolean;
    chat: boolean;
    contact: boolean;
    booking: boolean;
    voice: boolean;
    projects: boolean;
    skills: boolean;
    resources: boolean;
    lark: boolean;
    wecom: boolean;
    dingtalk: boolean;
    openclaw: boolean;
    bijinote: boolean;
    contentSync: boolean;
    sync_skills: boolean;
    sync_projects: boolean;
    uumit: boolean;
    adminDashboard: boolean;
    personalAssistant: boolean;
    knowledgeChat: boolean;
    [key: string]: boolean;
}
export interface SiteAI {
    model: string;
    systemPrompt: string;
}
/** 主题配色配置 — CSS 变量驱动 */
export interface ThemeConfig {
    primaryColor: string;
    secondaryColor?: string;
    accentColor?: string;
    darkMode?: boolean | 'auto';
    borderRadius?: 'none' | 'sm' | 'md' | 'lg' | 'full';
}
export interface SitePerson {
    name: string;
    email?: string;
    title?: string;
    address?: {
        locality?: string;
        country?: string;
    };
    socialLinks?: Record<string, string>;
}
export interface SiteSEO {
    title?: string;
    description?: string;
    keywords?: string[];
}
export interface SiteNav {
    path: string;
    labelKey: string;
    icon: string;
}
export interface SiteConfig {
    name: string;
    domain: string;
    brand: SiteBrand;
    features: FeatureFlags;
    theme?: ThemeConfig;
    ai: SiteAI;
    person?: SitePerson;
    seo?: SiteSEO;
    nav?: SiteNav[];
}
interface SiteContextValue {
    config: SiteConfig;
    isFeatureEnabled: (feature: string) => boolean;
}
interface SiteProviderProps {
    children: ReactNode;
    config?: Partial<SiteConfig>;
    siteName?: string;
}
export declare function SiteProvider({ children, config, siteName }: SiteProviderProps): import("react").JSX.Element;
export declare function useSite(): SiteContextValue;
export declare function useSiteConfig(): SiteConfig;
export declare function useBrand(): SiteBrand;
export declare function useFeatures(): FeatureFlags;
export {};
//# sourceMappingURL=SiteContext.d.ts.map