///
type ItemT = Record;
interface UseExpandStateArg {
items?: ItemT[];
itemKey?: keyof ItemT;
expanded?: Record;
onExpand: (item: ItemT) => void;
onExpandChange: (nextState: Record, item?: ItemT) => void;
onExpandAll: (nextState: Record) => void;
onToggleExpand: (item: ItemT) => void;
onCollapse: (item: ItemT) => void;
}
export declare const useExpandState: ({ items, itemKey, expanded: expandedProp, onExpand, onExpandChange, onExpandAll, onToggleExpand, onCollapse, }: UseExpandStateArg) => {
state: {
expanded: Record;
isExpandedAll: boolean;
};
actions: {
expand: (item: ItemT, stateData?: boolean) => void;
toggleExpandAll: (stateData?: boolean) => void;
toggleExpand: (item: ItemT, stateData?: boolean) => void;
collapse: (item: ItemT) => void;
};
setExpanded: import("react").Dispatch>>;
};
export default useExpandState;