import type { CSSMotionProps } from 'rc-motion'; import type * as React from 'react'; export type CollapsibleType = 'header' | 'icon' | 'disabled'; export interface ItemType extends Omit { key?: CollapsePanelProps['panelKey']; label?: CollapsePanelProps['header']; ref?: React.RefObject; } export interface CollapseProps { prefixCls?: string; activeKey?: React.Key | React.Key[]; defaultActiveKey?: React.Key | React.Key[]; openMotion?: CSSMotionProps; onChange?: (key: React.Key[]) => void; accordion?: boolean; className?: string; style?: object; destroyInactivePanel?: boolean; expandIcon?: (props: object) => React.ReactNode; collapsible?: CollapsibleType; children?: React.ReactNode; /** * Collapse items content * @since 3.6.0 */ items?: ItemType[]; } export interface CollapsePanelProps extends React.DOMAttributes { id?: string; header?: string | React.ReactNode; prefixCls?: string; headerClass?: string; showArrow?: boolean; className?: string; classNames?: { header?: string; body?: string; }; style?: object; styles?: { header?: React.CSSProperties; body?: React.CSSProperties; }; isActive?: boolean; openMotion?: CSSMotionProps; destroyInactivePanel?: boolean; accordion?: boolean; forceRender?: boolean; extra?: string | React.ReactNode; onItemClick?: (panelKey: React.Key) => void; expandIcon?: (props: object) => React.ReactNode; panelKey?: React.Key; role?: string; collapsible?: CollapsibleType; children?: React.ReactNode; }