UNPKG

@xoxno/sdk-js

Version:

The SDK to interact with the XOXNO Protocol!

196 lines 6.23 kB
import type { Owner } from './nft'; import type { CreatorProfile } from './user'; export declare enum IEventCategory { FESTIVAL = "festival", CONFERENCE = "conference", NETWORKING = "networking", MEETUP = "meetup", WEB3 = "web3", ENTERTAINMENT = "entertainment" } export declare const eventCategories: IEventCategory[]; declare enum FestivalCategory { MUSIC = "music", ARTS_AND_CULTURE = "arts-and-culture", FOOD_AND_DRINK = "food-and-drink", LIFESTYLE_AND_WELLNESS = "lifestyle-and-wellness", LOCAL_AND_COMMUNITY = "local-and-community" } declare enum ConferenceCategory { TECHNOLOGY_AND_INNOVATION = "technology-and-innovation", BUSINESS_AND_FINANCE = "business-and-finance", HEALTHCARE_AND_SCIENCE = "healthcare-and-science", EDUCATION_AND_LEARNING = "education-and-learning", MARKETING_AND_MEDIA = "marketing-and-media" } declare enum NetworkingCategory { INDUSTRY_SPECIFIC = "industry-specific", CAREER_DEVELOPMENT = "career-development", INVESTOR_AND_STARTUPS = "investor-and-startups", SOCIAL_IMPACT = "social-impact", PERSONAL_DEVELOPMENT = "personal-development" } declare enum MeetupCategory { HOBBIES_AND_INTERESTS = "hobbies-and-interests", PROFESSIONAL_GROUPS = "professional-groups", SOCIAL_GATHERING = "social-gathering", EDUCATION_AND_SKILLS = "education-and-skills", FAMILY_AND_KIDS = "family-and-kids" } declare enum Web3Category { BLOCKCHAIN_AND_CRYPTOCURRENCY = "blockchain-and-cryptocurrency", METAVERSE_AND_VR = "metaverse-and-vr", DEFI_AND_FINANCE = "defi-and-finance", DAO_AND_GOVERNANCE = "dao-and-governance", WEB3_STARTUPS = "web3-startups" } declare enum EntertainmentCategory { LIVE_MUSIC = "live-music", COMEDY_SHOWS = "comedy-shows", THEATRE_AND_PERFORMANCE = "theatre-and-performance", MOVIES = "movies", NIGHTLIFE_AND_CLUBBING = "nightlife-and-clubbing" } export declare const eventSubCategories: { readonly festival: FestivalCategory[]; readonly conference: ConferenceCategory[]; readonly networking: NetworkingCategory[]; readonly meetup: MeetupCategory[]; readonly web3: Web3Category[]; readonly entertainment: EntertainmentCategory[]; }; export type IEventSubCategory = (typeof eventSubCategories)[keyof typeof eventSubCategories][number]; export declare function getEventCategories(): Promise<IEventCategory[]>; export declare function getEventSubCategories(category: IEventCategory): Promise<FestivalCategory[] | ConferenceCategory[] | NetworkingCategory[] | MeetupCategory[] | Web3Category[] | EntertainmentCategory[]>; export interface IEventDoc { dataType: 'event-profile'; descriptionUrl: string; profile: string; background?: string; id: string; slug: string; title: string; startTime: number; endTime: number; location: { placeId?: string; address?: string; lat?: number; long?: number; instructions?: string; onlineLink?: string; }; isVirtualEvent: boolean; registration: { visibility: 'public' | 'private'; maxLimit: number; userLimit: number; requireKYC: boolean; hasWaitlist: boolean; refundable: boolean; soldCount: number; nameWithNumber: boolean; botProtection: boolean; requireName: boolean; requireEmail: boolean; requirePhoneNumber: boolean; hasSideEvents: boolean; isPublished: boolean; hasCustomQuestions: boolean; showGuestCount: boolean; acceptCrypto: boolean; }; creatorAddress: string; pk: string; _ts: number; seo?: { description: string; tags: string[]; alternativeTitle?: string; }; creatorProfile: CreatorProfile; guestSummary?: { count: number; guests: Owner[]; }; startsFrom: { price: 0; currency: string; }; eventPermissions?: Pick<IEventRoles, 'role' | 'permissions' | 'endTime'>; contractAddress: string; collection: string; category: IEventCategory; subCategory?: IEventSubCategory; } export interface ITicketDoc { dataType: 'event-ticket-profile'; eventId: string; name: string; description: string; profile: string; royalties: number; badgeColor: string; characteristics: Record<string, string>; maxLimit: number; userLimit: number; soldCount: number; createdAt: number; id: string; } export interface ITicketStageDoc { dataType: 'event-ticket-stage'; eventId: string; ticketId: string; name: string; startTime: number; endTime: number; maxLimit: number; userLimit: number; isEnabled: boolean; isWhitelist: boolean; requiredApproval: boolean; prices: { tokenIdentifier: string; tokenNonce: number; amount: string; amountShort: number; decimals: number; usdValue: number; }[]; soldCount: number; id: string; } export declare enum EventUserRoles { EVENT_MANAGER = "event-manager", CHECK_IN_MANAGER = "check-in-manager", EVENT_READER = "event-reader" } export declare enum EventUserRolePermission { EVENT_READER_VIEW = "event-reader-view", EVENT_MANAGER_EDIT_PAGE = "event-manager-edit-page", EVENT_MANAGER_CREATE_TICKET = "event-manager-create-ticket", EVENT_MANAGER_EDIT_TICKET = "event-manager-edit-ticket", EVENT_MANAGER_DELETE_TICKET = "event-manager-delete-ticket", EVENT_MANAGER_EDIT_GUEST = "event-manager-edit-guest", EVENT_MANAGER_CREATE_STAGE = "event-manager-create-stage", EVENT_MANAGER_EDIT_STAGE = "event-manager-edit-stage" } export interface IEventRoles { dataType: 'event-user-role'; eventId: string; name: string; wallet: string; email: string; status: 'active' | 'pending'; role: EventUserRoles[]; permissions: EventUserRolePermission[]; endTime: number; id: string; profile?: string; herotag?: string; } export declare const eventRoles: EventUserRoles[]; export declare const eventPermissions: EventUserRolePermission[]; export {}; //# sourceMappingURL=event.d.ts.map