export type WidgetBridgeResource = 'bootstrap'; export type WidgetBridgeMessage = { type: 'INIT'; config: { tenantId: string; playerId: string; baseUrl?: string; }; platform?: string; } | { type: 'REQUEST'; requestId: string; resource: WidgetBridgeResource; } | { type: 'RESPONSE'; requestId: string; ok: true; data: WidgetBootstrapData; } | { type: 'RESPONSE'; requestId: string; ok: false; error: string; } | { type: 'ERROR'; error: string; } | { type: 'OPEN_GAME'; url: string; title?: string; }; export interface WidgetUserState { userId: string; level: number; exp: number; compositeScore: number; positiveChangePct: number; } export interface WidgetTransaction { id: string; type: 'earn' | 'spend' | 'bonus'; amount: number; description: string; timestamp: number; } export interface WidgetCollectionItem { id: string; category: string; rarity: string; unlocked: boolean; } export interface WidgetNotification { id: string; type: 'badge' | 'level_up' | 'goal' | 'reward' | 'leaderboard'; message: string; timestamp?: number; read?: boolean; } export type WidgetQuestType = 'financial' | 'habit' | 'performance' | 'mission'; export type WidgetQuestStatus = 'active' | 'completed' | 'available' | 'joined'; export interface WidgetQuest { questId: string; type: WidgetQuestType; title: string; description?: string; target: number; current: number; progressPct: number; startDate?: string; endDate?: string; status: WidgetQuestStatus; rewards?: { xp?: number; badges?: string[]; }; } export interface WidgetActivityDay { date: string; count: number; } export interface WidgetLeaderboardEntry { scope: 'global' | 'team' | 'season'; rank: number; delta: number; } export type WidgetBadgeRarity = 'common' | 'rare' | 'epic' | 'legendary'; export interface WidgetBadge { id: string; name: string; rarity: WidgetBadgeRarity; unlocked: boolean; imageUrl?: string; } export interface WidgetLeaderboardEntryDisplay { userId?: string; rank: number; displayName: string; score: number; delta?: number; isCurrentUser?: boolean; avatarUrl?: string; } export interface WidgetWallet { currency: string; balance: number; earnedDelta: number; qwikCoins?: number; } export interface WidgetReward { id: string; name: string; description: string; cost: number; imageUrl?: string; } export interface WidgetBootstrapData { tenantId: string; user: WidgetUserState; wallet: WidgetWallet | null; quests: WidgetQuest[]; activities: WidgetActivityDay[]; transactions?: WidgetTransaction[]; collections?: WidgetCollectionItem[]; badges: WidgetBadge[]; rewards?: WidgetReward[]; leaderboardEntries: WidgetLeaderboardEntryDisplay[]; leaderboard?: WidgetLeaderboardEntry | null; notifications?: WidgetNotification[]; } //# sourceMappingURL=widgetTypes.d.ts.map