///
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 {};