import { DrawerProps } from '@mui/material';
import { ReactNode } from 'react';
export interface DetailDrawerSection {
    /** Section title displayed as a heading */
    title: string;
    /** Section content (any ReactNode) */
    content: ReactNode;
}
export interface DetailDrawerProps extends Omit<DrawerProps, 'open' | 'onClose' | 'anchor'> {
    /** Whether the drawer is open */
    open: boolean;
    /** data-testid propagated to the Drawer paper element */
    testId?: string;
    /** Called when the drawer should close */
    onClose: () => void;
    /** Title displayed in the drawer header */
    title: string;
    /** Optional description displayed below the title */
    description?: string;
    /** Sections to render in the drawer body as cards */
    sections?: DetailDrawerSection[];
    /** Free-form content for the drawer body (alternative to sections) */
    children?: ReactNode;
    /** Action buttons rendered in the fixed footer */
    actions?: ReactNode;
    /** Drawer width in pixels (default: 454). Ignored on mobile (full width). */
    width?: number;
    /** Show loading skeletons instead of content */
    loading?: boolean;
}
