import { BackgroundVariant } from '../../hooks/use-theme';
import { PresetColorType, MODE } from '../../config';
import { LayoutTypeProps } from '../../../components/layouts/root-layout';
import { IMenuItem } from '../../../components/layouts/menus/menu-item';
interface ThemeWrapperBaseProps extends Omit<LayoutTypeProps, 'layout'> {
    menuItems: IMenuItem[];
    brandColor?: PresetColorType;
    mode?: MODE;
    background?: BackgroundVariant;
    headerClassName?: string;
    contentClassName?: string;
    fullWidth?: boolean;
    children: React.ReactNode;
    showSettings?: boolean;
    customPaletteColor?: {
        primary?: PresetColorType | string;
        darkPrimary?: PresetColorType | string;
        secondary?: PresetColorType | string;
        darkSecondary?: PresetColorType | string;
        accent?: PresetColorType | string;
        darkAccent?: PresetColorType | string;
        muted?: PresetColorType | string;
        darkMuted?: PresetColorType | string;
        darkBg?: PresetColorType | string;
        lightBg?: PresetColorType | string;
        lightDark?: PresetColorType | string;
        darkLightDark?: PresetColorType | string;
        success?: PresetColorType | string;
        darkSuccess?: PresetColorType | string;
        warning?: PresetColorType | string;
        darkWarning?: PresetColorType | string;
        error?: PresetColorType | string;
        darkError?: PresetColorType | string;
        info?: PresetColorType | string;
        darkInfo?: PresetColorType | string;
        fg?: PresetColorType | string;
        darkFg?: PresetColorType | string;
        border?: PresetColorType | string;
        darkBorder?: PresetColorType | string;
    };
    setCurrentPathname?: (pathname: string) => void;
}
type DefaultLayoutType = 'clean' | 'admin' | 'horizontal';
type MacOSLayoutType = 'macos' | 'macos-clean';
type MacOSTahoeLayoutType = 'macos-tahoe' | 'macos-tahoe-dock' | 'macos-tahoe-clean';
interface DefaultThemeWrapperProps extends ThemeWrapperBaseProps {
    themeStyle?: 'default';
    layout?: DefaultLayoutType;
}
interface MacOSThemeWrapperProps extends ThemeWrapperBaseProps {
    themeStyle: 'macos';
    layout?: MacOSLayoutType;
}
interface MacOSTahoeThemeWrapperProps extends ThemeWrapperBaseProps {
    themeStyle: 'macos-tahoe';
    layout?: MacOSTahoeLayoutType;
}
type ThemeWrapperProps = DefaultThemeWrapperProps | MacOSThemeWrapperProps | MacOSTahoeThemeWrapperProps;
/** Distributive Omit — preserves discriminated union across variants */
type DistributiveOmit<T, K extends keyof never> = T extends unknown ? Omit<T, K> : never;
export declare function ThemeWrapper({ logo, rightButton, themeStyle, brandColor, customPaletteColor, background, showSettings, className, headerClassName, contentClassName, fullWidth, mode: appMode, menuItems: appMenuItems, layout: appLayout, children, setCurrentPathname, }: ThemeWrapperProps): import("react/jsx-runtime").JSX.Element;
export default ThemeWrapper;
export type { ThemeWrapperProps, ThemeWrapperBaseProps, DefaultThemeWrapperProps, MacOSThemeWrapperProps, MacOSTahoeThemeWrapperProps, DistributiveOmit, DefaultLayoutType, MacOSLayoutType, MacOSTahoeLayoutType, };
