import { FC, ReactNode, ComponentProps, ReactElement } from 'react';
import { Metadata } from 'next';
import { PageMapItem } from 'nextra';
import { Navbar, Layout } from 'nextra-theme-docs';
import { Head } from 'nextra/components';
import { HiveNavigation } from '../components/hive-navigation/index.mjs';
import { Body } from './body.client.mjs';
import 'react/jsx-runtime';
import '../components/hive-navigation/graphql-conf-card.mjs';
import 'next/image';

type LP = ComponentProps<typeof Layout>;
type LayoutProps = Omit<LP, 'navbar' | 'footer' | 'children' | 'docsRepositoryBase' | 'pageMap'> & Partial<Pick<LP, 'navbar' | 'footer' | 'pageMap'>> & Required<Pick<LP, 'docsRepositoryBase'>>;
type NP = ComponentProps<typeof HiveNavigation>;
type NavbarProps = Omit<NP, 'productName'> & Partial<Pick<NP, 'productName'>>;
declare const GuildLayout: FC<{
    children: ReactNode;
    websiteName: string;
    description: string;
    /**
     * In case you want to pass the html props, like overriding default `class`
     */
    htmlProps?: ComponentProps<'html'>;
    /**
     * Nextra's `<Head>` component props
     */
    headProps?: ComponentProps<typeof Head>;
    /**
     * Navbar logo, `null` is used in The Guild Blog
     */
    logo: ComponentProps<typeof Navbar>['logo'] | null;
    /**
     * Nextra's Docs Theme `<Layout>` component props
     */
    layoutProps: LayoutProps;
    /**
     * Nextra's Docs Theme `<Navbar>` component props
     */
    navbarProps: NavbarProps;
    pageMap?: PageMapItem[];
    search?: ReactElement;
    lightOnlyPages: ComponentProps<typeof Body>['lightOnlyPages'];
}>;
declare function getDefaultMetadata({ websiteName, description, productName, ...additionalMetadata }: {
    description?: string;
    websiteName: string;
    productName: string;
} & Metadata): Metadata;

export { GuildLayout, getDefaultMetadata };
