import { type SpellSchool, type LearnableSpellType, type Spell, type SpellCircle, type SpellName } from '../Spell'; import { type SerializedSheetSpell, type SerializedSheetLearnedCircles } from './SerializedSheet'; export type SpellMap = Map; export type SheetLearnedCircles = Record>; export type SheetLearnedSchools = Record>; export type SheetSpellsInterface = { learnCircle(circle: SpellCircle, type: LearnableSpellType, schools?: Set): void; learnSpell(spell: Spell, needsCircle?: boolean, needsSchool?: boolean): void; getLearnedCircles(): SheetLearnedCircles; getSpells(): SpellMap; serializeLearnedCircles(): SerializedSheetLearnedCircles; serializeSpells(): SerializedSheetSpell[]; getLearnedSchools(): SheetLearnedSchools; };