export interface ImageViewerLabels {
    preview?: string;
    zoomIn?: string;
    zoomOut?: string;
    fit?: string;
    actualSize?: string;
    reset?: string;
    rotateLeft?: string;
    rotateRight?: string;
    fullscreen?: string;
    download?: string;
    openInNewTab?: string;
    close?: string;
    imageAltFallback?: string;
    downloadSuccess?: string;
    downloadError?: string;
    fullscreenError?: string;
    openInNewTabError?: string;
    imageLoadError?: string;
}
export interface ImageViewerConfig {
    enabled?: boolean;
    labels?: ImageViewerLabels;
}
export interface SyntaxHighlightConfig {
    langs?: string[];
    lightTheme?: string;
    darkTheme?: string;
}
export interface FeedbackConfig {
    enabled?: boolean;
    endpoint?: string;
    method?: "POST";
    includePageMeta?: boolean;
    labels?: {
        helpful?: string;
        unhelpful?: string;
        inputPlaceholder?: string;
        submit?: string;
        thanks?: string;
    };
}
export interface BackendFeatureConfig {
    auth?: boolean;
    comments?: boolean;
    bookmarks?: boolean;
    analytics?: boolean;
    feedback?: boolean;
    notifications?: boolean;
    admin?: boolean;
}
export interface BackendConfig {
    enabled?: boolean;
    baseUrl?: string;
    features?: BackendFeatureConfig;
}
export interface EditLinkConfig {
    enabled?: boolean;
    urlTemplate?: string;
    label?: string;
}
export interface AnnouncementConfig {
    enabled?: boolean;
    text?: string;
    link?: string;
    dismissible?: boolean;
}
export interface VersionItemConfig {
    value: string;
    label: string;
}
export interface ChangelogConfig {
    enabled?: boolean;
    title?: string;
    showInNavbar?: boolean;
    showInSidebar?: boolean;
    pageSize?: number;
}
export interface CollapseControlConfig {
    enabled?: boolean;
    defaultCollapsed?: boolean;
}
export interface SiteConfig {
    site: {
        logo: string | {
            light: string;
            dark: string;
        };
        title: string;
        description: string;
        url?: string;
    };
    navbar: {
        showLogo?: boolean;
        showTitle?: boolean;
        showLanguageSwitcher?: boolean;
        items: {
            title: string;
            link: string;
            external?: boolean;
            visible?: boolean;
        }[];
        actions?: {
            type?: string;
            title?: string;
            link: string;
            icon?: string;
            enabled?: boolean;
        }[];
    };
    announcement?: AnnouncementConfig;
    versions?: {
        enabled?: boolean;
        current?: string;
        items?: VersionItemConfig[];
    };
    changelog?: ChangelogConfig;
    sidebar: {
        enabled?: boolean;
        collapseControl?: CollapseControlConfig;
        sections?: {
            title: string;
            path?: string;
            children?: {
                title: string;
                path: string;
            }[];
        }[];
        collections?: Record<string, {
            sections: {
                title: string;
                path: string;
                children?: {
                    title: string;
                    path: string;
                }[];
            }[];
        }>;
    };
    theme?: {
        defaultMode?: "light" | "dark" | "auto" | "system";
        allowToggle?: boolean;
    };
    footer?: {
        enabled?: boolean;
        copyright?: string;
        beian?: {
            text?: string;
            url?: string;
        };
        policeBeian?: {
            text?: string;
            url?: string;
        };
        poweredBy?: boolean;
        repository?: {
            url?: string;
            branch?: string;
        };
        lastUpdated?: string;
        version?: string;
        groups?: {
            title: string;
            items: {
                title: string;
                link: string;
                external?: boolean;
                action?: "scrollTop";
            }[];
        }[];
        links?: {
            title: string;
            link: string;
            external?: boolean;
            action?: "scrollTop";
        }[];
        social?: {
            name: string;
            url?: string;
            link?: string;
            icon?: string;
        }[];
    };
    pwa?: {
        enabled?: boolean;
        name?: string;
        shortName?: string;
        description?: string;
        themeColor?: string;
        backgroundColor?: string;
    };
    contextMenu?: {
        enabled?: boolean;
        page?: {
            copyUrl?: boolean;
            copyTitle?: boolean;
            copyMarkdownLink?: boolean;
            copySelectedText?: boolean;
            openInNewTab?: boolean;
            reload?: boolean;
            printPage?: boolean;
            scrollToTop?: boolean;
            scrollToBottom?: boolean;
        };
        site?: {
            goHome?: boolean;
            quickNav?: boolean;
            language?: boolean;
        };
        appearance?: {
            theme?: boolean;
            resetThemePref?: boolean;
        };
    };
    mdx?: {
        componentsPath?: string;
        enabled?: boolean;
        components?: {
            [componentName: string]: string;
        };
    };
    toc?: {
        enabled?: boolean;
        collapseControl?: CollapseControlConfig;
        maxLevel?: number;
        title?: string;
    };
    breadcrumb?: {
        enabled?: boolean;
        showHome?: boolean;
    };
    reading?: {
        showTime?: boolean;
        showProgress?: boolean;
        fullscreen?: {
            enabled?: boolean;
        };
    };
    ai?: {
        enabled?: boolean;
    };
    backend?: BackendConfig;
    fonts?: {
        fontFamilyZhCn?: string;
        fontFamilyEn?: string;
    };
    codeHighlight?: SyntaxHighlightConfig;
    search?: {
        enabled?: boolean;
        placeholder?: string;
        maxResults?: number;
        snippetLength?: number;
    };
    export?: {
        enabled?: boolean;
        markdown?: boolean;
        pdf?: boolean;
        word?: boolean;
        allDocs?: boolean;
        pdfServer?: {
            enabled?: boolean;
            url?: string;
        };
    };
    feedback?: FeedbackConfig;
    editLink?: EditLinkConfig;
    pageMeta?: {
        showLastUpdated?: boolean;
        showEditLink?: boolean;
        showAuthors?: boolean;
        preferGitMeta?: boolean;
    };
    seo?: {
        enabled?: boolean;
        defaultTitle?: string;
        titleTemplate?: string;
        defaultDescription?: string;
        defaultOgImage?: string;
        robots?: string;
        twitterCard?: "summary" | "summary_large_image";
    };
    sitemap?: {
        enabled?: boolean;
        changefreq?: "always" | "hourly" | "daily" | "weekly" | "monthly" | "yearly" | "never";
        priority?: number;
        exclude?: string[];
    };
    feed?: {
        enabled?: boolean;
        title?: string;
        description?: string;
        limit?: number;
    };
    imageViewer?: ImageViewerConfig;
}
export declare function getConfig(lang?: string): Promise<SiteConfig | null>;
//# sourceMappingURL=config.d.ts.map