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;
}
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 };