import { BaseLayoutProps, GetLayoutTabsOptions, LayoutTab, NavOptions } from "../shared/index.js";
import { SidebarProps, SidebarProviderProps } from "./slots/sidebar.js";
import { DocsSlots, useNotebookLayout } from "./client.js";
import { HTMLAttributes } from "react";
import * as PageTree from "fumadocs-core/page-tree";

//#region src/layouts/notebook/index.d.ts
interface DocsLayoutProps extends Omit<BaseLayoutProps, 'nav'> {
  tree: PageTree.Root;
  tabs?: LayoutTab[] | GetLayoutTabsOptions | false;
  tabMode?: 'sidebar' | 'navbar';
  sidebar?: SidebarOptions;
  nav?: NavOptions & {
    mode?: 'top' | 'auto';
  };
  containerProps?: HTMLAttributes<HTMLDivElement>;
  slots?: Partial<DocsSlots>;
}
interface SidebarOptions extends SidebarProps, SidebarProviderProps {
  /**
   * @deprecated use layout-level `tabs` option instead.
   */
  tabs?: LayoutTab[] | GetLayoutTabsOptions | false;
}
declare function DocsLayout({
  tree,
  tabMode,
  sidebar: {
    tabs: defaultTabs,
    ...sidebarProps
  },
  children,
  tabs,
  ...props
}: DocsLayoutProps): import("react").JSX.Element;
//#endregion
export { DocsLayout, DocsLayoutProps, type DocsSlots, SidebarOptions, useNotebookLayout };