import type { GitData } from '@vuepress/plugin-git';
import type { App, Page } from 'vuepress/core';
import type { SitemapChangeFrequency } from '.';
export type PageModifyTimeGetter = <ExtraPageData extends Record<string, unknown> & {
    git?: GitData;
} = {
    git?: GitData;
}, ExtraPageFrontmatter extends Record<string, unknown> = Record<never, never>, ExtraPageFields extends Record<string, unknown> = Record<never, never>>(page: Page<ExtraPageData, ExtraPageFrontmatter, ExtraPageFields>, app: App) => string;
export interface SitemapPluginOptions {
    /**
     * domain which to be deployed to
     *
     * 部署的网站域名
     */
    hostname: string;
    /**
     * Extra urls to be included
     *
     * 需要额外包含的网址
     */
    extraUrls?: string[];
    /**
     * Page paths to be excluded
     *
     * 不被收录的页面路径
     */
    excludePaths?: string[];
    /**
     * Output filename, relative to dest folder
     *
     * 输出的文件名，相对于输出目录
     *
     * @default "sitemap.xml"
     */
    sitemapFilename?: string;
    /**
     * Output xsl filename, relative to dest folder
     *
     * 输出的 xsl 文件名，相对于输出目录
     *
     * @default "sitemap.xsl"
     */
    sitemapXSLFilename?: string;
    /**
     * XSL file content used as template
     *
     * 用作模板的 XSL 文件内容
     *
     * @default Content of "@vuepress/plugin-sitemap/templates/sitemap.xsl"
     */
    sitemapXSLTemplate?: string;
    /**
     * Page default update frequency
     *
     * 页面默认更新频率
     *
     * @default "daily"
     */
    changefreq?: SitemapChangeFrequency;
    /**
     * Date format function
     *
     * 时间格式化器
     */
    modifyTimeGetter?: PageModifyTimeGetter;
    /**
     * Whether enabled in devServer
     *
     * @description For performance reasons, we do not provide hot reload. Reboot your devServer to sync your changes.
     *
     * 是否在开发服务器中启用
     *
     * @description 由于性能原因，我们不提供热更新。重启开发服务器以同步你的变更。
     *
     * @default false
     */
    devServer?: boolean;
    /**
     * Hostname to use in devServer
     *
     * 开发服务器使用的主机名
     *
     * @default 'http://localhost:${port}'
     */
    devHostname?: string;
    /**
     * XML namespaces to turn on - all by default
     */
    xmlNameSpace?: {
        news: boolean;
        video: boolean;
        xhtml: boolean;
        image: boolean;
        custom?: string[];
    };
}
