import { default as React } from 'react';
import { SxProps, Theme } from '@mui/material/styles';
export interface ExpandableSection {
    /** Unique key for the section (falls back to index) */
    key?: string;
    /** Icon: string name resolved via Icon component, or ReactNode */
    icon?: string | React.ReactNode;
    /** Title text or ReactNode */
    title: string | React.ReactNode;
    /** Optional count displayed as a small badge after the title */
    count?: number;
    /** Trailing content in the header row (status chips, action buttons, etc.) */
    endDecorator?: React.ReactNode;
    /** Expandable body content */
    children: React.ReactNode;
    /** Whether section starts expanded */
    defaultExpanded?: boolean;
    /** Controlled expanded state (overrides defaultExpanded) */
    expanded?: boolean;
    /** Callback when expanded state changes */
    onExpandedChange?: (expanded: boolean) => void;
    /** Disable this section */
    disabled?: boolean;
}
export interface ExpandableSectionsProps {
    sections: ExpandableSection[];
    /** Visual variant */
    variant?: "bordered" | "plain" | "flush";
    /** Size/density */
    size?: "sm" | "md" | "lg";
    /** Use monospace font for titles */
    monospace?: boolean;
    /** Allow only one section open at a time */
    exclusive?: boolean;
    /** sx overrides on the root container */
    sx?: SxProps<Theme>;
}
declare function ExpandableSections({ sections, variant, size, monospace, exclusive, sx, }: ExpandableSectionsProps): React.ReactElement;
declare namespace ExpandableSections {
    var displayName: string;
}
export default ExpandableSections;
export type ExpandableSectionStandaloneProps = ExpandableSection & {
    variant?: "bordered" | "plain" | "flush";
    size?: "sm" | "md" | "lg";
    monospace?: boolean;
};
export declare function ExpandableSectionComponent({ variant, size, monospace, ...section }: ExpandableSectionStandaloneProps): React.ReactElement;
export declare namespace ExpandableSectionComponent {
    var displayName: string;
}
