interface AttributeModel { value: string; trait_type: string; } export interface BalanceModel { symbol: string; balance: string; decimals: number; locked?: string; } export interface BalancesModel { custom?: BalanceModel; galaxis?: BalanceModel; stable?: BalanceModel; } export interface SideModel { dna: string; id: number; image: string; layers?: { [key: string]: string; }; } export interface ChoiceModel { label: string; value: any; } export interface InteractionConfigModel { type: string; description: string; button_text?: string; choices?: ChoiceModel[]; } export interface InteractionModel { can_interact: boolean; config: InteractionConfigModel; interacted_value?: string; } export interface TraitModel { claim_url: any; description: string; icon_url: string; ipfs_url?: string; name: string; status: number; traitId: string; type: string; data: any; decorator_type?: string; highlighted: boolean; badge_visibility?: 'everywhere' | 'back_only' | 'nowhere'; value?: string; is_interactive?: boolean; interaction?: InteractionModel; attribute_highlight?: { /** @deprecated Position is now in the content HTML. */ x?: number; /** @deprecated Position is now in the content HTML. */ y?: number; content: string; openAttributeOnClick?: boolean; }; } export interface LayerModifierModel { animationX: number; animationY: number; scale: number; rotation: any; } export interface MetadataModel { attributes: AttributeModel[]; cardWalletData?: BalancesModel; collection_name: string; collection_type: string; image: string; name: string; sides: SideModel[]; tokenId: number | string; traits?: TraitModel[]; layerModifiers?: LayerModifierModel[]; } export {};