import type { InjectionKey, Ref } from 'vue'; import type { PlayerRow } from '../views/user-form'; export type AgentPlayerActions = { canCreatePlayer: boolean; openCreatePlayer: (parentAgentUserId: string) => void; openDetailPlayer: (id: string) => void; openEditPlayer: (id: string) => void; openTransfer: (type: 'deposit' | 'withdraw', row: { id: string; username?: string }) => void; toggleFreezePlayer: (row: PlayerRow) => void | Promise; deletePlayer: (row: PlayerRow) => void | Promise; openPlayerWalletLedger: (playerId: string, playerUsername?: string | null) => void; playerActionFlags: { showEdit: boolean; showDeposit: boolean; showWithdraw: boolean; showFreeze: boolean; showDelete: boolean; }; }; export const agentPlayerActionsKey: InjectionKey = Symbol('agentPlayerActions'); export const agentDirectPlayersReloadKey: InjectionKey void) | null>> = Symbol('agentDirectPlayersReload');