import { ReactNode } from '../../../../node_modules/.pnpm/react@19.1.1/node_modules/react';
export type TExpandedState = Record<string, boolean>;
export type TExpandIconProps<TItem> = {
    expanded: boolean;
    record: TItem;
    onExpand: () => void;
};
export type TExpandableConfig<TItem> = {
    /** Render content for expanded row (required) */
    expandedRowRender: (record: TItem, index: number, expanded: boolean) => ReactNode;
    /** Controlled expanded state */
    expanded?: TExpandedState;
    /** Callback when expanded state changes */
    onExpandedChange?: (expanded: TExpandedState) => void;
    /** Callback when specific row is expanded/collapsed */
    onExpand?: (expanded: boolean, record: TItem) => void;
    /** Expand row by clicking anywhere on the row */
    expandRowByClick?: boolean;
    /** Only one row can be expanded at a time */
    accordion?: boolean;
    /** Animate expand/collapse */
    animated?: boolean;
    /** Custom expand icon */
    expandIcon?: (props: TExpandIconProps<TItem>) => ReactNode;
    /** Column index for expand icon (default: 0) */
    expandIconColumnIndex?: number;
    /** Determine if row can be expanded */
    rowExpandable?: (record: TItem) => boolean;
};
//# sourceMappingURL=expand.types.d.ts.map