import { Action } from "./actions"; import { Template } from "./schema"; declare type Order = number; export interface State { objects: { [id: string]: StateEntry; }; seats?: { [id: string]: SeatInfo; }; game: any; ctx: any; highest?: Order; latestActions?: Action[]; remote?: boolean; } export interface SeatInfo { id: string; handID: string; } /** * Common properties. */ export interface Common { x?: number; y?: number; data?: KeyValue; parent?: string | null; order?: Order; template?: Template.Entry; } export declare type Card = Common & { faceDown?: boolean; rotation?: number; }; export declare type Container = Common & { children?: Array; shuffleID?: number; }; export declare type StateEntry = Card | Container; export interface KeyValue { [key: string]: T; } export {};