@xoxno/sdk-js
Version:
The SDK to interact with the XOXNO Protocol!
196 lines • 6.23 kB
TypeScript
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