import type { Emotion } from '@emotion/css/create-instance'; import type { Theme as ReactUITheme } from '@skbkontur/react-ui/lib/theming/Theme'; import type { SideMenuTheme } from './ThemeTypes.js'; type ReactUIOrSideMenuTheme = (ReactUITheme | SideMenuTheme) & { [key: string]: unknown; }; /** * Creates SideMenuTheme out of ReactUI's Theme. * * Inserts SideMenu vars in the theme, puts them over ReactUI's vars, * but respects these SideMenu vars values that might have been specified in ReactUI's theme before that. * * This allows inserting SideMenu vars in the theme on the fly * (without need for users to do it manually in their apps), * and using ReactUI's ThemeContext.Provider for overriding them. */ export declare const createSideMenuTheme: (theme: ReactUIOrSideMenuTheme) => SideMenuTheme; export declare const getSideMenuTheme: (() => Readonly) | ((arg: Readonly | Readonly) => Readonly); export interface StylesObject { [className: string]: (() => string) | ((t: SideMenuTheme) => string); } export type StylesGetter = (emotion: Emotion) => S; export declare const memoizeStyle: (styles: S) => S; export declare const memoizeGetStyles: (getStyles: StylesGetter) => StylesGetter; export type { Emotion };