import type { IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js" import type { ISCard } from "./index.js" export interface ISContainer extends IContainer { appendCards: (cards: Array) => void draw: (amount: number) => Array removeCards: (cards: Array) => void shuffle: () => void } export interface ISInteractibleContainer extends IInteractibleContainer { sacrifice: (card: ISCard) => void } export interface ISPlayableContainer extends IPlayableContainer { discard: (card: ISCard) => void } export interface ISMarketStack extends IMarketStack { } export interface ISMarket extends IMarket { buy: (card: ISCard) => void buyInHand: (card: ISCard) => void buyInStack: (card: ISCard) => void } export interface ISFireGemsStack extends IFireGemsStack { } export interface ISPlayerStack extends IPlayerStack { } export interface ISPlayerDiscard extends IPlayerDiscard { putOnStack: (card: ISCard) => void } export interface ISPlayerHand extends IPlayerHand { putAllOnBoard: () => void } export interface ISPlayerBoard extends IPlayerBoard { stunChampion: (card: ISCard) => void }