import RootCollection from '../../tactic/collection/RootCollection'; import Room from '../../room/Room'; import Tactic from '../../tactic/Tactic'; import Team from '../../team/Team'; import CanvasElement from '../../canvas/elements/abstract/CanvasElement'; import Map from '../../canvas/map/Map'; import Message from '../../misc/message/Message'; import { UserPermission } from '../../user'; export interface SocketStateOptions { collection: RootCollection; tactics: Record; room: Room; chat: Array; tokens: Partial>; [key: string]: any; } export interface TacticData { tactic: Tactic; teams: Record; elements: Record; map: Map; } export interface CreateTacticData { tactic: Omit; map: Map; } export interface PartialState { room: Room; collection: RootCollection; tactics: Record; chat: Array; map?: Map; elements?: Record; teams?: Record; }