/// export type ChildrenInfo = { all: RowType[]; disabled: RowIdType[]; notDisabled: RowIdType[]; notDisabledAndNotHidden: RowIdType[]; notDisabledAndNotHiddenAreSelected: boolean; hidden: RowIdType[]; notHidden: RowIdType[]; selected: RowIdType[]; notSelected: RowIdType[]; someChildrenIsSelected: boolean; }; export type RowKeyGetter = (row: RowType) => RowIdType; export type RowShowCheckbox = (row: RowType, lvl?: number, parent?: RowType | null) => boolean; export type RowCheckboxDisabled = (row: RowType, lvl?: number, parent?: RowType | null) => boolean; export type RowGetStatesProps = { isHaveCheckboxCalculated: boolean; isRowSelectedCalculated: boolean; isIndeterminateCalculated: boolean; isRowSelectionDisabled: boolean; rowKeyGetter: RowKeyGetter; row: RowType; flattenedRowsMap: Map; selectedRows: ReadonlySet; setSelectedRows: React.Dispatch>>; level: number; parent: RowType | null; getRowChildrenInfo: () => ChildrenInfo; rowShowCheckbox: RowShowCheckbox | undefined; rowCheckboxDisabled: RowCheckboxDisabled | undefined; }; export type RowGetStatesReturnType = { checked?: boolean | null; indeterminate?: boolean | null; showCheckbox?: boolean | null; checkboxDisabled?: boolean | null; onChange?: ((p: { allParentsMap: Map; isRowInLevels: (row: RowType) => boolean; defaultSetter: () => void; getRowParentsInfo: () => { all: RowType[]; getShouldBeSelectedInfo: (actualSelecteds: ReadonlySet) => { shouldBeSelected: RowIdType[]; shouldNotBeSelected: RowIdType[]; }; }; }) => void) | null; };