import * as react_jsx_runtime46 from "react/jsx-runtime";
import * as react11 from "react";
import { ComponentProps, ReactNode } from "react";
import { LinkItemType } from "@fumadocs/ui/link-item";
import { I18nConfig } from "fumadocs-core/i18n";
export * from "@fumadocs/ui/link-item";

//#region src/layouts/shared/index.d.ts
interface NavOptions {
  enabled: boolean;
  component: ReactNode;
  title?: ReactNode | ((props: ComponentProps<'a'>) => ReactNode);
  /**
   * Redirect url of title
   * @defaultValue '/'
   */
  url?: string;
  /**
   * Use transparent background
   *
   * @defaultValue none
   */
  transparentMode?: 'always' | 'top' | 'none';
  children?: ReactNode;
}
interface BaseLayoutProps {
  themeSwitch?: {
    enabled?: boolean;
    component?: ReactNode;
    mode?: 'light-dark' | 'light-dark-system';
  };
  searchToggle?: Partial<{
    enabled: boolean;
    components: Partial<{
      sm: ReactNode;
      lg: ReactNode;
    }>;
  }>;
  /**
   * I18n options
   *
   * @defaultValue false
   */
  i18n?: boolean | I18nConfig;
  /**
   * GitHub url
   */
  githubUrl?: string;
  links?: LinkItemType[];
  /**
   * Replace or disable navbar
   */
  nav?: Partial<NavOptions>;
  children?: ReactNode;
}
/**
 * Get link items with shortcuts
 */
declare function resolveLinkItems({
  links,
  githubUrl
}: Pick<BaseLayoutProps, 'links' | 'githubUrl'>): LinkItemType[];
declare function renderTitleNav({
  title,
  url
}: Partial<NavOptions>, props: ComponentProps<'a'>): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | react11.ReactPortal | react11.ReactElement<unknown, string | react11.JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | react_jsx_runtime46.JSX.Element | null | undefined;
//#endregion
export { BaseLayoutProps, NavOptions, renderTitleNav, resolveLinkItems };
//# sourceMappingURL=index.d.ts.map