use super::types::*;
pub trait WindowManager {
fn state(&self) -> &WindowState;
fn set_title(&mut self, title: &str);
fn set_size(&mut self, size: WindowSize);
fn set_position(&mut self, position: WindowPosition);
fn set_minimized(&mut self, minimized: bool);
fn set_maximized(&mut self, maximized: bool);
fn set_fullscreen(&mut self, fullscreen: bool);
fn set_visible(&mut self, visible: bool);
fn drag_window(&self);
fn drag_resize(&self, direction: ResizeDirection);
fn set_chrome(&mut self, config: ChromeConfig);
fn set_border(&mut self, config: BorderConfig);
fn close(&mut self);
}