export type EvHandlerRes = "bubble" | "stop"; export type EvHandler = ( ...args: Args ) => EvHandlerRes; export interface Mouse { get x(): number; get y(): number; addOnPress(handler: EvHandler): void; addOnRelease(handler: EvHandler): void; addOnMove(handler: EvHandler): void; addOnScroll(handler: EvHandler<["up" | "down"]>): void; }