import type { IdentityCore, EntityStatus } from '@23blocks/contracts'; export interface Badge extends IdentityCore { code: string; name: string; description?: string; imageUrl?: string; criteria?: Record; status: EntityStatus; enabled: boolean; payload?: Record; } export interface CreateBadgeRequest { code: string; name: string; description?: string; imageUrl?: string; criteria?: Record; payload?: Record; } export interface UpdateBadgeRequest { name?: string; description?: string; imageUrl?: string; criteria?: Record; enabled?: boolean; status?: EntityStatus; payload?: Record; } export interface ListBadgesParams { page?: number; perPage?: number; status?: EntityStatus; search?: string; sortBy?: string; sortOrder?: 'asc' | 'desc'; } export interface AwardBadgeRequest { badgeUniqueId: string; userUniqueId: string; reason?: string; metadata?: Record; } export interface UserBadge extends IdentityCore { badgeUniqueId: string; badgeCode: string; badgeName: string; badgeImageUrl?: string; userUniqueId: string; awardedAt: Date; reason?: string; metadata?: Record; status: EntityStatus; payload?: Record; } export interface ListUserBadgesParams { page?: number; perPage?: number; status?: EntityStatus; sortBy?: string; sortOrder?: 'asc' | 'desc'; } //# sourceMappingURL=badge.d.ts.map