import type { IContainer, IFireGemsStack, IInteractibleContainer, IMarket, IMarketStack, IPlayableContainer, IPlayerBoard, IPlayerDiscard, IPlayerHand, IPlayerStack } from "../generic/containers.js" import type { ICard } from "../generic/index.js" export interface ICContainer extends IContainer { onCardsAppend: (cards: Array) => void onDraw: (cards: Array) => void onRemoveCards: (cards: Array) => void onShuffle: () => void } export interface ICInteractibleContainer extends IInteractibleContainer { onSacrifice: (card: ICard) => void } export interface ICPlayableContainer extends IPlayableContainer { onDiscard: (card: ICard) => void } export interface ICMarketStack extends IMarketStack { } export interface ICMarket extends IMarket { onBuy: (card: ICard) => void onBuyInHand: (card: ICard) => void onBuyInStack: (card: ICard) => void } export interface ICFireGemsStack extends IFireGemsStack { } export interface ICPlayerStack extends IPlayerStack { } export interface ICPlayerDiscard extends IPlayerDiscard { onPutOnStack: (card: ICard) => void } export interface ICPlayerHand extends IPlayerHand { onPutAllOnBoard: () => void } export interface ICPlayerBoard extends IPlayerBoard { onStunChampion: (card: ICard) => void }