import { SearchProviderProps } from "../contexts/search.js";
import { I18nProviderProps } from "../contexts/i18n.js";
import { ReactNode } from "react";
import { ThemeProviderProps, UseThemeProps, useTheme } from "next-themes";
//#region src/provider/base.d.ts
interface SearchOptions extends Omit<SearchProviderProps, 'children'> {
  /**
   * Enable search functionality
   *
   * @defaultValue `true`
   */
  enabled?: boolean;
}
interface ThemeOptions extends ThemeProviderProps {
  /**
   * Enable `next-themes`
   *
   * @defaultValue true
   */
  enabled?: boolean;
  /**
   * Hotkey for toggling between light/dark mode, pass `false` to disable it.
   *
   * It is ignored while typing in an editable element (e.g. `<input />`), or when a dialog is opened.
   *
   * @defaultValue `d`
   */
  hotKey?: string | ((e: KeyboardEvent) => boolean) | false;
}
interface RootProviderProps {
  /**
   * `dir` option for Radix UI
   */
  dir?: 'rtl' | 'ltr';
  /**
   * @remarks `SearchProviderProps`
   */
  search?: Partial<SearchOptions>;
  /**
   * Customize options for `next-themes`
   */
  theme?: ThemeOptions;
  i18n?: Omit<I18nProviderProps, 'children'>;
  children?: ReactNode;
}
declare function RootProvider({ children, dir, theme, search, i18n }: RootProviderProps): import("react").JSX.Element;
//#endregion
export { RootProvider, RootProviderProps, type UseThemeProps, useTheme };