import type { CSSObject, Breakpoints, Transitions } from '@mui/material/styles'; import type { OverridesStyleRules } from '@mui/material/styles/overrides'; import { ILayout } from './create-layout'; import { IMixins } from './create-mixins'; import { IPalette } from './create-palette'; import { ITypography } from './create-typography'; import { Spacing } from '@mui/system'; import { SemanticThemeTokens } from './tokens'; export interface ICreateComponentOverridesOptions { palette: IPalette; tokens: SemanticThemeTokens; typography: ITypography; mixins: IMixins; breakpoints: Breakpoints; spacing: Spacing; layout: ILayout; transitions: Transitions; } export interface IComponentOverrideMap { defaultProps?: Partial; styleOverrides?: Partial>; variants?: Array<{ props: Partial; style: CSSObject; }>; } export type ComponentOverrideCreator = (options: ICreateComponentOverridesOptions) => IComponentOverrideMap; export declare const createComponentOverrides: (creator: ComponentOverrideCreator) => ComponentOverrideCreator;