import type { ColorName, Shade } from './colors'; import { CSSProperties } from '@mui/material/styles/createTypography'; import type { IPalette } from './create-palette'; import type { Mixins } from '@mui/material/styles'; import type { Breakpoints, Spacing } from '@mui/system'; import { ThemeTokens } from './tokens'; /** * Multi-layer ambient drop shadow for elevated/floating surfaces. The offset/blur * skeleton is shared across surfaces; only the shadow opacity varies (lighter for * transient/large surfaces, heavier for the floating-panel baseline). Lives in the * `theme.shadows[]` elevation scale (highest steps) so it can be referenced as an * elevation primitive, and is composed with a border in `overlaySurfaceShadow`. * * @param opacity rgba alpha for every layer. Defaults to the menu-family `0.08`. */ export declare const overlaySurfaceAmbientShadow: (opacity?: number) => string; export interface IMixins extends Omit { focusRing(options?: { type?: 'default' | 'inset'; color?: string; opacity?: number; }): CSSProperties; /** @deprecated use tokens instead */ shadeOfColor(color: ColorName | 'grey', shade?: Shade): string; /** @deprecated use tokens instead */ textColorForShadeOfColor(color: ColorName | 'grey', shade?: Shade): string; borderAsBoxShadow(color: string, width?: number): string; /** Composite elevation for floating menu-family surfaces (menu, select, autocomplete, popover, floating bar). Draws the border as the first box-shadow layer followed by the ambient elevation shadow. For surfaces that draw their own (e.g. directional) border, use the `theme.shadows[]` elevation scale directly. */ overlaySurfaceShadow(borderColor: string): string; appBarAction(): { root: CSSProperties; hover: CSSProperties; focus: CSSProperties; active: CSSProperties; }; getColorModeValue(colorMap: { light?: LightModeValue; dark?: DarkModeValue; }): LightModeValue | DarkModeValue; } export type IMixinsOptions = Partial; export interface ICreateMixinsOptions { breakpoints: Breakpoints; spacing: Spacing; palette: IPalette; tokens: ThemeTokens; overrides?: IMixinsOptions; } export declare const createMixins: ({ palette, tokens, overrides }: ICreateMixinsOptions) => Pick;