import Konva from "konva"; import { DefaultDice, DiceRoll } from "./Dice"; import { Map } from "./Map"; import { MapState } from "./MapState"; import { Note } from "./Note"; import { Timer } from "./Timer"; import { Token } from "./Token"; import { TokenState } from "./TokenState"; export type MapChangeEventHandler = ( map: Map | null, mapState: MapState | null ) => void; export type MapResetEventHandler = (newState: MapState) => void; export type MapSettingsChangeEventHandler = (change: Partial) => void; export type MapStateSettingsChangeEventHandler = ( change: Partial ) => void; export type DiceSelectEventHandler = (dice: DefaultDice) => void; export type RequestCloseEventHandler = () => void; export type TokensStateCreateHandler = (states: TokenState[]) => void; export type TokenStateRemoveHandler = (tokenStateIds: string[]) => void; export type TokenStateChangeEventHandler = ( changes: Record> ) => void; export type TokenMenuOpenChangeEventHandler = ( tokenStateId: string, tokenImage: Konva.Node ) => void; export type TokenSettingsChangeEventHandler = (change: Partial) => void; export type TokenDragEventHandler = ( event: Konva.KonvaEventObject, tokenStateId: string ) => void; export type NoteCreateEventHander = (notes: Note[]) => void; export type NoteRemoveEventHander = (noteIds: string[]) => void; export type NoteChangeEventHandler = ( changes: Record> ) => void; export type NoteMenuOpenEventHandler = ( noteId: string, noteNode: Konva.Node ) => void; export type NoteDragEventHandler = ( event: Konva.KonvaEventObject, noteId: string ) => void; export type DiceShareChangeEventHandler = (share: boolean) => void; export type DiceRollsChangeEventHandler = (newRolls: DiceRoll[]) => void; export type StreamStartEventHandler = (stream: MediaStream) => void; export type StreamEndEventHandler = (stream: MediaStream) => void; export type TimerStartEventHandler = (event: Timer) => void; export type TimerStopEventHandler = () => void;