import { AccordionProps as MUIAccordionProps, AccordionSummaryProps, Theme } from '@mui/material';
import { ReactNode } from 'react';
import { AccordionSlots } from './slots/AccordionEnum';
import { ACCORDION_KEY } from './constants';
import { Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
export interface AccordionProps {
    /**
     * The label for the Accordion component
     */
    label: string;
    /**
     * Optional class name for the Accordion component
     */
    className?: string;
    /**
     * The children nodes of the Accordion component.
     * String content normalizes escaped \r\n, \n, and \t markers before rendering.
     */
    children: ReactNode;
    /**
     * Optional props for the MUI Accordion component
     */
    accordionProps?: Omit<MUIAccordionProps, 'sx' | 'children'>;
    /**
     * Optional props for the Accordion Summary component
     */
    summaryProps?: AccordionSummaryProps;
    /**
     * Optional icon for the Accordion component
     */
    icon?: string;
    /**
     * Optional width for the skeleton label
     */
    skeletonLabelWidth?: number | string;
    /**
     * Optional variant for the Accordion component
     */
    variant?: 'outlined' | 'text';
    /**
     * Optional size for the Accordion component
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Optional data test id for the Accordion component
     */
    dataTestId?: string;
    /**
     * Optional expanded state for the Accordion component
     */
    expanded?: boolean;
}
export type AccordionSlotsType = keyof typeof AccordionSlots;
export type AccordionStyles = M4LOverridesStyleRules<AccordionSlotsType, typeof ACCORDION_KEY, Theme>;
export interface AccordionOwnerState extends Pick<AccordionProps, 'size' | 'variant'> {
    expanded: boolean;
    hasTextContent: boolean;
}
//# sourceMappingURL=types.d.ts.map