import { ThemeOptions as ThemeOptions$1, Theme as Theme$1 } from '@mui/system/createTheme/createTheme';
import { a as PaletteOptions, P as Palette } from './types-1693a3d6.js';
import { c as TypographyOptions, d as Typography } from './types-429c23c9.js';

type Shadows = ["none", string, string, string, string, string, string, string, string];

interface Easing {
    easeIn: string;
    easeInOut: string;
    easeOut: string;
    sharp: string;
}
interface Duration {
    complex: number | string;
    enteringScreen: number | string;
    leavingScreen: number | string;
    short: number | string;
    shorter: number | string;
    shortest: number | string;
    standard: number | string;
}
type Create = (props?: string | string[], options?: Partial<{
    delay: number | string;
    duration: number | string;
    easing: string;
}>) => string;
type GetAutoGeightDurartion = (height?: number) => number;
interface TransitionsOptions {
    create?: Create;
    duration?: Partial<Duration>;
    easing?: Partial<Easing>;
    getAutoHeightDuration?: GetAutoGeightDurartion;
}
interface Transitions {
    create: Create;
    duration: Duration;
    easing: Easing;
    getAutoHeightDuration: GetAutoGeightDurartion;
}

interface ZIndex {
    appBar: number;
    drawer: number;
    modal: number;
    tooltip: number;
}
type ZIndexOptions = Partial<ZIndex>;

interface ThemeOptions extends Omit<ThemeOptions$1, "zIndex"> {
    palette?: PaletteOptions;
    shadows?: Shadows;
    transitions?: TransitionsOptions;
    typography?: TypographyOptions | ((palette: Palette) => TypographyOptions);
    zIndex?: ZIndexOptions;
}
interface Theme extends Omit<Theme$1, "unstable_sxConfig" | "unstable_sx"> {
    palette: Palette;
    shadows: Shadows;
    transitions: Transitions;
    typography: Typography;
    zIndex: ZIndex;
}

export { Theme as T, ThemeOptions as a };
