import { FrontMatter } from '../plugins/Plugin';
export type SiteConfigPage = {
    glob?: string;
    layout?: string;
    src?: string[];
    title?: string;
    externalScripts?: string[];
    globExclude?: string;
    searchable?: string | boolean;
    frontmatter?: FrontMatter;
    fileExtension?: string;
};
export type SiteConfigStyle = {
    bootstrapTheme?: string;
    codeTheme: 'dark' | 'light';
    codeLineNumbers: boolean;
};
/**
 * Represents a read only site config read from the site configuration file,
 * with default values for unspecified properties.
 */
export declare class SiteConfig {
    baseUrl: string;
    enableSearch: boolean;
    faviconPath?: string;
    headingIndexingLevel: number;
    style: SiteConfigStyle;
    pages: SiteConfigPage[];
    pagesExclude: string[];
    ignore: string[];
    externalScripts: string[];
    titlePrefix: string;
    titleSuffix: string;
    globalOverride: Record<string, string>;
    timeZone: string;
    locale: string;
    plugins: string[];
    pluginsContext: {
        [pluginName: string]: Record<string, any>;
    };
    deploy: {
        message?: string;
        repo?: string;
        branch?: string;
        baseDir?: string;
    };
    intrasiteLinkValidation: {
        enabled: boolean;
    };
    plantumlCheck: boolean;
    /**
     * @param siteConfigJson The raw json read from the site configuration file
     * @param cliBaseUrl As read from the --baseUrl option
     */
    constructor(siteConfigJson: Record<string, any>, cliBaseUrl?: string);
    /**
     * Read and returns the site config from site.json, overwrites the default base URL
     * if it's specified by the user.
     *
     * @param rootPath The absolute path to the site folder
     * @param siteConfigPath The relative path to the siteConfig
     * @param baseUrl user defined base URL (if exists)
     */
    static readSiteConfig(rootPath: string, siteConfigPath: string, baseUrl?: string): Promise<any>;
}
//# sourceMappingURL=SiteConfig.d.ts.map