//! Tree view state for tracking selection, expansion, and filtering.
use HashSet;
/// Tree view state for StatefulWidget pattern.
///
/// Tracks the current selection, expanded nodes, scroll offset,
/// and filter state for the tree view.
///
/// # Example
///
/// ```rust
/// use ratatui_toolkit::tree_view::TreeViewState;
///
/// let mut state = TreeViewState::new();
/// state.select(vec![0, 1]);
/// state.expand(vec![0]);
/// ```