use accesskit::Role;
use crate::{UiResult, WidgetId, WidgetInfo};
pub trait UiInspector: Send + Sync {
fn widget_info(&self, id: WidgetId) -> UiResult<WidgetInfo>;
fn children(&self, id: WidgetId) -> UiResult<Vec<WidgetId>>;
fn parent(&self, id: WidgetId) -> UiResult<Option<WidgetId>>;
fn find_by_role(&self, role: Role) -> UiResult<Vec<WidgetId>>;
fn find_by_label(&self, text: &str) -> UiResult<Vec<WidgetId>>;
fn widget_count(&self) -> usize;
}