import { Item, Character, SRToken, SRPriority, Spec, Signup } from "../../Types/Types"

export class IItemManager{
    getItems: () => Promise<Item[]>
    fetchItem: (name:string) => Promise<Item>
    buyToken: (usertoken: string, charactername:string, itemname:string, signup:Signup) => Promise<(SRToken & Character & Item) | void>
    setPriority: (itemname:string, priority: any) => Promise<void>
    calculatePriorities: (itemname: string, character:Character) => Promise<number>
    deletePriority: (priority:SRPriority) => Promise<void>
    getTokens: (character:Character) => Promise<SRToken[]>
    getToken: (character:Character, item:Item) => Promise<(SRToken & Character & Item) | void>
    getAllPriorities: () => Promise<(SRPriority & Spec & Item)[]>
    wipeCurrencyAndItems: () => Promise<void>
}