use async_trait::async_trait;
use crossterm::event::KeyEvent;
use crate::app::{app_event::AppEvent, app_main::App};
#[async_trait]
pub trait AppHandler {
fn handle_key_events(key_event: &KeyEvent) -> color_eyre::Result<AppEvent>;
fn handle_app_events(app: &mut App, event: AppEvent) -> color_eyre::Result<()>;
}