export interface DocsConfig {
    name?: string;
    logo?: string | {
        light?: string;
        dark?: string;
    };
    favicon?: string;
    colors?: {
        primary?: string;
        accent?: string;
    };
    navigation?: Navigation | NavigationGroup[];
    tabs?: Tab[];
    footer?: {
        links?: Array<{
            name: string;
            url: string;
        }>;
    };
    notice?: {
        content?: string;
        dismissible?: boolean;
        background?: string;
    };
    redirects?: Array<{
        source: string;
        destination: string;
    }>;
}
export interface Navigation {
    tabs?: NavigationTab[];
    global?: {
        anchors?: Array<{
            anchor: string;
            href: string;
            icon?: string;
        }>;
    };
}
export interface NavigationTab {
    tab: string;
    type: 'docs' | 'openapi' | 'changelog';
    path?: string;
    groups?: NavigationGroup[];
    versions?: Array<{
        version: string;
        spec: string;
        default?: boolean;
    }>;
}
export interface NavigationGroup {
    group: string;
    icon?: string;
    pages: Array<string | {
        page?: string;
        group?: string;
        pages?: string[];
        title?: string;
    }>;
}
export interface Tab {
    name: string;
    url: string;
    openapi?: string;
}
/**
 * Load docs.json configuration from project root
 */
export declare function loadConfig(projectRoot: string): Promise<DocsConfig>;
/**
 * Validate docs.json configuration
 */
export declare function validateConfig(config: DocsConfig): {
    valid: boolean;
    errors: string[];
};
/**
 * Get the content directory from config or default
 */
export declare function getContentDir(config: DocsConfig, projectRoot: string): string;
