
export interface TradeItem {
    id: number;
    name: string; // Cache name for UI display
    quantity: bigint;
}

export interface TradeOffer {
    money: bigint;
    items: TradeItem[]; // easier to iterate for UI than Map
}

export interface TradeParticipant {
    id: string;
    username: string;
    locked: boolean;
    offer: TradeOffer;
}

export type TradeState = 'NEGOTIATING' | 'COMPLETED' | 'CANCELLED';

export interface TradeSession {
    threadId: string;
    userA: TradeParticipant;
    userB: TradeParticipant;
    state: TradeState;
    lastInteraction: number;
}
