import { DividerProps as MUIDividerProps } from '@mui/material';
import { Theme } from '@mui/material/styles';
import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { MenuDividerSlots } from './slots/MenuDividerEnum';
import { MENU_DIVIDER_KEY_COMPONENT } from './constants';
import { Sizes } from '@m4l/styles';
/**
 * Propiedades del componente `MenuDivider`.
 */
export interface MenuDividerProps extends Omit<MUIDividerProps, 'variant'> {
    /**
     * Identificador de prueba para el `MenuDivider`.
     */
    dataTestId?: string;
    /**
     * Clase CSS adicional para el `MenuDivider`.
     */
    className?: string;
    /**
     * Define el estilo del divisor.
     * - `solid`: Una línea sólida.
     * - `dash`: Una línea con guiones.
     */
    variant?: 'solid' | 'dash';
    /**
     * Define la orientación del `MenuDivider`.
     * - `'horizontal'`: Una línea horizontal.
     * - `'vertical'`: Una línea vertical.
     */
    orientation?: 'horizontal' | 'vertical';
    /**
     * Tamaño del `MenuDivider`.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
}
/**
 * Estado del propietario del `MenuDivider` utilizado para definir propiedades internas de estilo y comportamiento.
 */
export interface MenuDividerOwnerState extends Pick<MenuDividerProps, 'orientation'> {
    MenuDividerVariant?: MenuDividerProps['variant'];
    MenuDividerOrientation?: MenuDividerProps['orientation'];
    MenuDividerSize?: MenuDividerProps['size'];
}
/**
 * Define los tipos de Slots disponibles para el `MenuDivider`.
 */
export type MenuDividerSlotsType = keyof typeof MenuDividerSlots;
/**
 * Estilos aplicables al `MenuDivider` utilizando temas y slots personalizados.
 */
export type MenuDividerStyles = OverridesStyleRules<MenuDividerSlotsType, typeof MENU_DIVIDER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map