/// import { NFTCategory, NotificationType, Rarity } from '@dcl/schemas'; export declare enum NotificationActiveTab { NEWEST = "newest", READ = "read" } export declare type NotificationLocale = 'en' | 'es' | 'zh'; export declare type RawDecentralandNotification = { id: string; type: T; address: string; timestamp: number; read: boolean; created_at: string; updated_at: string; metadata: M; }; declare type CommonNFTNotificationMetadata = { link: string; image: string; rarity: Rarity; nftName: string; network: 'ethereum' | 'polygon'; category: NFTCategory; }; declare type ItemSoldMetadata = CommonNFTNotificationMetadata & { seller: string; }; declare type RoyalitesEarnedMetadata = CommonNFTNotificationMetadata & { royaltiesCollector: string; royaltiesCut: string; }; declare type BidAcceptedMetadata = CommonNFTNotificationMetadata & { price: string; }; declare type BidReceivedMetadata = CommonNFTNotificationMetadata & { price: string; }; export declare type ItemSoldNotification = RawDecentralandNotification; export declare type RoyalitesEarnedNotification = RawDecentralandNotification; export declare type BidAcceptedNotification = RawDecentralandNotification; export declare type BidReceivedNotification = RawDecentralandNotification; declare type MarketplaceNotifications = ItemSoldNotification | RoyalitesEarnedNotification | BidAcceptedNotification | BidReceivedNotification; declare type CommonGovernanceNotificationMetadata = { proposalId: string; proposalTitle: string; title: string; description: string; link: string; }; export declare type GovernanceAnnouncementNotification = RawDecentralandNotification>; export declare type GovernanceProposalEnactedNotification = RawDecentralandNotification; export declare type GovernanceCoauthorRequestedNotification = RawDecentralandNotification; export declare type GovernanceAuthoredProposalFinishedNotification = RawDecentralandNotification; export declare type GovernanceVotingEndedVoterNotification = RawDecentralandNotification; export declare type GovernanceNewCommentOnProposalNotification = RawDecentralandNotification; export declare type GovernanceNewCommentOnProjectUpdateNotification = RawDecentralandNotification; export declare type GovernancePitchPassedNotification = RawDecentralandNotification; export declare type GovernanceTenderPassedNotification = RawDecentralandNotification; export declare type GovernanceVotedOnBehalfNotification = RawDecentralandNotification; export declare type GovernanceWhaleVoteNotification = RawDecentralandNotification; export declare type GovernanceCliffEndedNotification = RawDecentralandNotification; declare type GovernanceNotifications = GovernanceAnnouncementNotification | GovernanceProposalEnactedNotification | GovernanceCoauthorRequestedNotification | GovernanceCliffEndedNotification | GovernanceAuthoredProposalFinishedNotification | GovernanceVotingEndedVoterNotification | GovernanceNewCommentOnProposalNotification | GovernanceNewCommentOnProjectUpdateNotification | GovernancePitchPassedNotification | GovernanceTenderPassedNotification | GovernanceVotedOnBehalfNotification | GovernanceWhaleVoteNotification; declare type CommonWorldsNotificationMetadata = { title: string; description: string; url: string; }; declare type WorldsNotificationMetadataWithWhen = CommonWorldsNotificationMetadata & { when: number; }; export declare type WorldsMissingResourcesNotification = RawDecentralandNotification; export declare type WorldsAccessRestrictedNotification = RawDecentralandNotification; export declare type WorldsAccessRestoredNotification = RawDecentralandNotification; declare type WorldPermissionMetadata = { title: string; description: string; world: string; permissions: string[]; }; export declare type WorldsPermissionGrantedNotification = RawDecentralandNotification; export declare type WorldsPermissionRevokedNotification = RawDecentralandNotification; declare type WorldsNotifications = WorldsMissingResourcesNotification | WorldsAccessRestrictedNotification | WorldsAccessRestoredNotification | WorldsPermissionGrantedNotification | WorldsPermissionRevokedNotification; declare type LandNotificationMetadata = { description: string; link: string; title: string; contract: string; lessor: string; tenant: string; operator: string; startedAt: string; endedAt: string; tokenId: string; land: string; }; export declare type LandRentedNotification = RawDecentralandNotification; export declare type LandRentalEndedNotification = RawDecentralandNotification; declare type LandNotifications = LandRentedNotification | LandRentalEndedNotification; declare type CommonRewardsMetadata = { tokenName: string; tokenImage: string; tokenRarity: Rarity; }; declare type CommonCampaignMetadata = { link?: string; campaignName: string; }; export declare type RewardAssignedNotification = RawDecentralandNotification; export declare type RewardInProgressNotification = RawDecentralandNotification; export declare type RewardDelayedNotification = RawDecentralandNotification; export declare type CampaignOutOfStockNotification = RawDecentralandNotification; export declare type CampaignOutOfFundsNotification = RawDecentralandNotification; export declare type CampaignGasPriceHigherThanExpectedNotification = RawDecentralandNotification; declare type CommonEventsMetadata = { image: string; link: string; name: string; }; export declare type EventsStartsSoonNotification = RawDecentralandNotification; export declare type EventsStartedNotification = RawDecentralandNotification; declare type EventsNotificatiosn = EventsStartsSoonNotification | EventsStartedNotification; export declare type DCLNotification = MarketplaceNotifications | GovernanceNotifications | WorldsNotifications | LandNotifications | RewardAssignedNotification | EventsNotificatiosn; export declare type CommonNotificationProps = { notification: N; locale: NotificationLocale; renderProfile?: (address: string) => JSX.Element | string | null; }; export {};