import type { HTMLProps, ReactNode } from "react";
import type { ThemeSwitcherProps } from "../../../client";
export type ForcedPage = {
pathMatcher: RegExp | string;
props: ThemeSwitcherProps;
};
export interface NextJsSSRThemeSwitcherProps extends HTMLProps {
children?: ReactNode;
/** @defaultValue 'div' */
tag?: keyof JSX.IntrinsicElements;
forcedPages?: ForcedPage[];
/** id of target element to apply classes to. This is useful when you want to apply theme only to specific container. */
targetId?: string;
/** provide styles object imported from CSS/SCSS modules, if you are using CSS/SCSS modules. */
styles?: Record;
}
/**
* @example
* ```tsx
*
* ```
*/
export declare function NextJsSSGThemeSwitcher(props: NextJsSSRThemeSwitcherProps): import("react/jsx-runtime").JSX.Element;
/** For naming consistancy, clarity, and minimizing API updates */
export { NextJsSSGThemeSwitcher as NextJsServerTarget };
export interface ServerSideWrapperProps extends NextJsSSRThemeSwitcherProps {
/** @defaultValue 'html' */
tag?: keyof JSX.IntrinsicElements;
}
/**
* Server side wrapper for Next.js to replace `html` tag
* @example
* ```tsx
*
*
*
* {children}
*
*
* ```
*/
export declare function ServerSideWrapper(props: ServerSideWrapperProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=nextjs-ssg-theme-switcher.d.ts.map