import { ActivityType } from "./ActivityType"; import { CollectionId } from "@rarible/types"; import { ItemId } from "@rarible/types"; import { OrderType } from "./OrderType"; import { OwnershipId } from "@rarible/types"; import { Platform } from "./Platform"; import { SubscriptionAction } from "./SubscriptionAction"; import { UnionAddress } from "@rarible/types"; export type SubscriptionRequest = ItemSubscriptionRequest | OwnershipSubscriptionRequest | ItemOwnershipSubscriptionRequest | OrdersSubscriptionRequest | OrdersByItemSubscriptionRequest | OrdersByCollectionSubscriptionRequest | ActivitySubscriptionRequest; export type ItemSubscriptionRequest = { "@type": "ITEM"; action: SubscriptionAction; id: ItemId; }; export type OwnershipSubscriptionRequest = { "@type": "OWNERSHIP"; action: SubscriptionAction; id: OwnershipId; }; export type ItemOwnershipSubscriptionRequest = { "@type": "ITEM_OWNERSHIP"; action: SubscriptionAction; id: ItemId; }; export type OrdersSubscriptionRequest = { "@type": "ORDERS"; action: SubscriptionAction; platform?: Platform; orderType?: OrderType; }; export type OrdersByItemSubscriptionRequest = { "@type": "ORDERS_BY_ITEM"; action: SubscriptionAction; itemId: ItemId; platform?: Platform; orderType?: OrderType; }; export type OrdersByCollectionSubscriptionRequest = { "@type": "ORDERS_BY_COLLECTION"; action: SubscriptionAction; collectionId: CollectionId; platform?: Platform; orderType?: OrderType; }; export type ActivitySubscriptionRequest = { "@type": "ACTIVITY"; action: SubscriptionAction; itemId?: ItemId; collectionId?: CollectionId; wallet?: UnionAddress; type?: ActivityType; };