tonightpass 0.0.234 → 0.0.235

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -21,33 +21,19 @@ declare const REGEX: {
21
21
  PASSWORD_LOWERCASE: RegExp;
22
22
  PASSWORD_NUMBER_SPECIAL: RegExp;
23
23
  IMAGE_URL: RegExp;
24
+ ORGANIZATION_AVATAR_URL: RegExp;
25
+ ORGANIZATION_BANNER_URL: RegExp;
26
+ EVENT_FLYER_URL: RegExp;
27
+ EVENT_FLYER_URL_UPDATE: RegExp;
28
+ EVENT_TRAILER_URL: RegExp;
29
+ EVENT_TRAILER_URL_UPDATE: RegExp;
30
+ USER_AVATAR_URL: RegExp;
31
+ USER_AVATAR_URL_CREATE: RegExp;
32
+ USER_BANNER_URL: RegExp;
33
+ CHANNEL_MESSAGE_ATTACHMENT: RegExp;
34
+ USER_POST_MEDIA_URL: RegExp;
24
35
  };
25
36
 
26
- interface CacheEntry<T> {
27
- data: T;
28
- timestamp: number;
29
- }
30
- interface CacheOptions {
31
- enabled: boolean;
32
- ttl?: number;
33
- methods?: Options["method"][];
34
- }
35
- declare class CacheManager {
36
- private cache;
37
- private options;
38
- constructor(options: CacheOptions);
39
- private generateKey;
40
- private shouldCache;
41
- private isValid;
42
- get<T>(method: Options["method"], url: string): T | null;
43
- set<T>(method: Options["method"], url: string, data: T): void;
44
- clear(): void;
45
- stats(): {
46
- size: number;
47
- keys: string[];
48
- };
49
- }
50
-
51
37
  type CreateApiKeyDto = {
52
38
  name: string;
53
39
  };
@@ -61,1109 +47,1236 @@ declare class AddParticipantDto {
61
47
  username: string;
62
48
  }
63
49
 
64
- declare class CreateChannelDto {
65
- type: ChannelType;
66
- participantUsernames: string[];
67
- name?: string;
68
- }
50
+ type Endpoint<M extends Options["method"], Path extends string, Res, Body = undefined> = {
51
+ method: M;
52
+ path: Path;
53
+ res: Res;
54
+ body: Body;
55
+ };
56
+ type Endpoints = ApiKeyEndpoints | AuthEndpoints | CareerEndpoints | ChannelEndpoints | ChannelMessageEndpoints | CurrenciesEndpoints | FeedEndpoints | HealthEndpoints | OrderEndpoints | OrganizationEndpoints | ProfileEndpoints | RoadmapEndpoints | UserEndpoints | WebhookEndpoints | NotificationEndpoints;
69
57
 
70
- declare class UpdateChannelDto {
71
- name?: string;
58
+ declare enum ApiKeyTier {
59
+ PUBLIC = "public",
60
+ BUILD = "build",
61
+ PREMIUM = "premium",
62
+ INTERNAL = "internal"
72
63
  }
64
+ type ApiKey = Base & {
65
+ key: string;
66
+ name: string;
67
+ tier: ApiKeyTier;
68
+ rateLimit: number;
69
+ user: UserProfile;
70
+ lastUsedAt?: Date;
71
+ isActive: boolean;
72
+ };
73
+ type ApiKeyEndpoints = Endpoint<"GET", "/api-keys", ArrayResult<ApiKey>> | Endpoint<"GET", "/api-keys/:apiKeyId", ApiKey> | Endpoint<"POST", "/api-keys", ApiKey, CreateApiKeyDto> | Endpoint<"PUT", "/api-keys/:apiKeyId", ApiKey, UpdateApiKeyDto> | Endpoint<"DELETE", "/api-keys/:apiKeyId", ApiKey, undefined>;
73
74
 
74
- declare class AddReactionDto {
75
- emoji: string;
75
+ declare enum UserNotificationType {
76
+ Follow = "follow"
76
77
  }
78
+ type UserNotificationBase = Base & {
79
+ type: UserNotificationType.Follow;
80
+ isSeen: boolean;
81
+ };
82
+ type UserNotificationFollow = UserNotificationBase & {
83
+ type: UserNotificationType.Follow;
84
+ follower: UserProfile;
85
+ };
86
+ type UserNotification = UserNotificationFollow;
87
+ type UserNotificationEndpoints = Endpoint<"GET", "/users/~me/notifications", ArrayResult<UserNotification>, ArrayOptions<UserNotification>> | Endpoint<"GET", "/users/~me/notifications/count", number, {
88
+ unseen?: boolean;
89
+ }> | Endpoint<"PUT", "/users/~me/notifications/read", void, undefined>;
77
90
 
78
- declare class ContentOrAttachmentsConstraint implements ValidatorConstraintInterface {
79
- validate(_value: unknown, args: ValidationArguments): boolean;
80
- defaultMessage(_args: ValidationArguments): string;
81
- }
82
- declare class CreateChannelMessageDto {
83
- content?: string;
84
- attachments?: string[];
91
+ declare class CreateUserPostCommentDto {
92
+ content: string;
85
93
  replyToId?: string;
86
94
  }
87
95
 
88
- declare class UpdateChannelMessageDto {
89
- content?: string;
96
+ declare class UpdateUserPostCommentDto {
97
+ content: string;
90
98
  }
91
99
 
92
- declare class ReportChannelMessageDto {
93
- reason: ChannelMessageReportReason;
94
- description?: string;
100
+ declare class CreateUserPostDto {
101
+ content?: string;
102
+ mediaUrls: string[];
103
+ visibility?: UserPostVisibility;
95
104
  }
96
105
 
97
- declare class GeoPointDto implements GeoPoint {
98
- type: "Point";
99
- coordinates: [number, number];
100
- constructor();
101
- }
102
- declare class CreateLocationDto implements Location$1 {
103
- name?: string;
104
- address: string;
105
- zipCode: string;
106
- city: string;
107
- country: string;
108
- geometry: GeoPointDto;
106
+ declare class CreateUserPostRepostDto {
107
+ comment?: string;
109
108
  }
110
109
 
111
- declare class UpdateLocationDto implements Partial<Location$1> {
112
- name?: string;
113
- address?: string;
114
- zipCode?: string;
115
- city?: string;
116
- country?: string;
117
- geometry?: GeoPointDto;
110
+ declare class UpdateUserPostDto {
111
+ content?: string;
112
+ visibility?: UserPostVisibility;
118
113
  }
119
114
 
120
- declare class CreateOrganizationMemberDto {
121
- user: string;
122
- role: OrganizationMemberRole;
123
- }
115
+ type UserPostComment = Base & {
116
+ post: UserPost;
117
+ author: UserProfile;
118
+ content: string;
119
+ replyTo?: UserPostComment;
120
+ isEdited: boolean;
121
+ editedAt?: Date;
122
+ };
123
+ type UserPostCommentEndpoints = Endpoint<"GET", "/users/@:username/posts/:postId/comments", ArrayResult<UserPostComment>, ArrayOptions<UserPostComment>> | Endpoint<"POST", "/users/~me/posts/:postId/comments", UserPostComment, CreateUserPostCommentDto> | Endpoint<"PUT", "/users/~me/posts/:postId/comments/:commentId", UserPostComment, UpdateUserPostCommentDto> | Endpoint<"DELETE", "/users/~me/posts/:postId/comments/:commentId", void, null>;
124
124
 
125
- declare class CreateOrganizationDto {
126
- organizationSlug?: string;
127
- identity: CreateOrganizationIdentityDto;
128
- members: CreateOrganizationMemberDto[];
129
- location?: Location$1;
125
+ declare enum UserPostMediaType {
126
+ Image = "image",
127
+ Video = "video"
130
128
  }
131
- declare class CreateOrganizationIdentityDto {
132
- displayName: string;
129
+ type UserPostMedia = {
130
+ url: string;
131
+ type: UserPostMediaType;
132
+ width: number;
133
+ height: number;
133
134
  description?: string;
134
- avatarUrl?: string;
135
- bannerUrl?: string;
136
- links?: string[];
137
- }
135
+ isNSFW: boolean;
136
+ thumbnailUrl?: string;
137
+ duration?: number;
138
+ };
139
+ type UserPostMediaEndpoints = Endpoint<"POST", "/users/~me/posts/media", string, FormData>;
138
140
 
139
- declare class UpdateOrganizationMemberDto {
140
- role: OrganizationMemberRole;
141
- }
141
+ type UserPostRepost = Base & {
142
+ originalPost: UserPost;
143
+ author: UserProfile;
144
+ comment?: string;
145
+ };
146
+ type UserPostRepostEndpoints = Endpoint<"GET", "/users/@:username/reposts", ArrayResult<UserPostRepost>, ArrayOptions<UserPostRepost>> | Endpoint<"GET", "/users/@:username/posts/:postId/reposts", ArrayResult<UserPostRepost>, ArrayOptions<UserPostRepost>> | Endpoint<"POST", "/users/~me/posts/:postId/reposts", UserPostRepost, CreateUserPostRepostDto> | Endpoint<"DELETE", "/users/~me/posts/:postId/reposts", void, undefined>;
142
147
 
143
- declare class AcceptOrganizationMemberInvitationDto {
144
- token: string;
145
- }
148
+ type UserPostViewEndpoints = Endpoint<"POST", "/users/@:username/posts/:postId/views", boolean, null>;
146
149
 
147
- declare class CreateOrganizationMemberInvitationLinkDto {
148
- role?: OrganizationMemberRole;
150
+ declare enum UserPostVisibility {
151
+ Public = "public",
152
+ Followers = "followers",
153
+ Private = "private"
149
154
  }
155
+ type UserPost = Base & {
156
+ author: UserProfile;
157
+ content?: string;
158
+ media: UserPostMedia[];
159
+ visibility: UserPostVisibility;
160
+ metrics: {
161
+ reposts: number;
162
+ comments: number;
163
+ views: number;
164
+ };
165
+ isReposted?: boolean;
166
+ isEdited: boolean;
167
+ editedAt?: Date;
168
+ };
169
+ type UserPostEndpoints = Endpoint<"GET", "/users/@:username/posts", ArrayResult<UserPost>, ArrayOptions<UserPost>> | Endpoint<"GET", "/users/@:username/posts/:postId", UserPost> | Endpoint<"POST", "/users/~me/posts", UserPost, CreateUserPostDto> | Endpoint<"PUT", "/users/~me/posts/:postId", UserPost, UpdateUserPostDto> | Endpoint<"DELETE", "/users/~me/posts/:postId", void, undefined> | UserPostCommentEndpoints | UserPostRepostEndpoints | UserPostViewEndpoints | UserPostMediaEndpoints;
150
170
 
151
- declare class UpdateOrganizationDto {
152
- slug?: string;
153
- identity?: UpdateOrganizationIdentityDto;
154
- members?: UpdateOrganizationMemberDto[];
155
- location?: Location;
156
- }
157
- declare class UpdateOrganizationIdentityDto {
158
- displayName?: string;
159
- description?: string;
160
- avatarUrl?: string;
161
- bannerUrl?: string;
162
- links?: string[];
163
- }
171
+ type Order = Base & {
172
+ invoice: Stripe__default.Invoice;
173
+ user: UserProfile;
174
+ };
175
+ type OrderEndpoints = Endpoint<"GET", "/orders", ArrayResult<Order>, ArrayOptions<Order>> | Endpoint<"GET", "/orders/:orderId", Order>;
164
176
 
165
- declare class CreateOrganizationEventOrderDto {
166
- cart: string[];
167
- }
177
+ type UserBookingTicket = Base & {
178
+ booking: UserBookingWithoutTickets;
179
+ ticket: OrganizationEventTicket;
180
+ token: UserToken;
181
+ useCount: number;
182
+ };
183
+ type UserBookingTicketEndpoints = Endpoint<"GET", "/users/bookings/tickets/:ticketId", UserBookingTicket, {
184
+ tokenId: string;
185
+ tokenValue: string;
186
+ }> | Endpoint<"PUT", "/users/bookings/tickets/:ticketId/use", UserBookingTicket, {
187
+ tokenId: string;
188
+ tokenValue: string;
189
+ }>;
168
190
 
169
- declare class CreateOrganizationEventStyleDto {
170
- type: OrganizationEventStyleType;
171
- emoji: string;
172
- name: string;
173
- }
191
+ type UserBookingWithoutTickets = Omit<UserBooking, "tickets">;
192
+ type UserBooking = Base & {
193
+ tickets: UserBookingTicket[];
194
+ order: Order;
195
+ customer: OrganizationCustomer;
196
+ event: OrganizationEvent;
197
+ };
198
+ type UserBookingEndpoints = Endpoint<"GET", "/users/bookings", ArrayResult<UserBooking>, ArrayOptions<UserBooking>> | Endpoint<"GET", "/users/~me/bookings", ArrayResult<UserBooking>, ArrayOptions<UserBooking>> | Endpoint<"GET", "/users/@:userId/bookings", ArrayResult<UserBooking>, ArrayOptions<UserBooking>> | Endpoint<"GET", "/users/bookings/:bookingId", UserBooking> | Endpoint<"GET", "/users/~me/bookings/:bookingId", UserBooking> | UserBookingTicketEndpoints;
174
199
 
175
- declare class UpdateOrganizationEventStyleDto extends CreateOrganizationEventStyleDto {
200
+ declare enum ProfileType {
201
+ User = "user",
202
+ Organization = "organization"
176
203
  }
177
-
178
- type CreateOrganizationEventTicketInput = Omit<ExcludeBase<OrganizationEventTicket>, "price" | "product" | "event" | "fee"> & {
179
- price: number;
180
- };
181
- declare class CreateOrganizationEventTicketDto implements CreateOrganizationEventTicketInput {
182
- name: string;
204
+ type BaseProfile = {
205
+ type: ProfileType;
206
+ slug: string;
207
+ displayName: string;
183
208
  description?: string;
184
- price: number;
185
- quantity: number;
186
- type: OrganizationEventTicketType;
187
- category: OrganizationEventTicketCategory;
188
- currency: Currency;
189
- isVisible: boolean;
190
- isFeesIncluded: boolean;
191
- startAt?: Date;
192
- endAt?: Date;
193
- }
194
-
195
- declare class UpdateOrganizationEventTicketDto implements DeepPartial<CreateOrganizationEventTicketInput> {
196
- name?: string;
197
- description?: string;
198
- price?: number;
199
- quantity?: number;
200
- type?: OrganizationEventTicketType;
201
- category?: OrganizationEventTicketCategory;
202
- currency?: Currency;
203
- isVisible?: boolean;
204
- isFeesIncluded?: boolean;
205
- startAt?: Date;
206
- endAt?: Date;
207
- }
209
+ avatarUrl?: string;
210
+ bannerUrl?: string;
211
+ links: string[];
212
+ metadata: ProfileMetadata;
213
+ createdAt: Date;
214
+ };
215
+ type UserProfile = BaseProfile & {
216
+ type: ProfileType.User;
217
+ metadata: UserProfileMetadata;
218
+ };
219
+ type OrganizationProfile = BaseProfile & {
220
+ type: ProfileType.Organization;
221
+ metadata: OrganizationProfileMetadata;
222
+ };
223
+ type Profile = UserProfile | OrganizationProfile;
224
+ type BaseProfileMetadata = {
225
+ followersCount: number;
226
+ isFollower: boolean;
227
+ isFollowing: boolean;
228
+ isBlocked: boolean;
229
+ hasBlocked: boolean;
230
+ canDM: boolean;
231
+ isOfficial: boolean;
232
+ };
233
+ type UserProfileMetadata = BaseProfileMetadata & {
234
+ hasPassPlus: boolean;
235
+ };
236
+ type OrganizationProfileMetadata = BaseProfileMetadata & {
237
+ eventsCount: number;
238
+ viewsCount: number;
239
+ membersCount: number;
240
+ };
241
+ type ProfileMetadata = UserProfileMetadata | OrganizationProfileMetadata;
242
+ type SearchProfilesOptions = ArrayOptions<Profile> & {
243
+ q: string;
244
+ };
245
+ type ProfileEndpoints = Endpoint<"GET", "/profiles", ArrayResult<Profile>, ArrayOptions<Profile>> | Endpoint<"GET", "/profiles/search", ArrayResult<Profile>, SearchProfilesOptions> | Endpoint<"GET", "/profiles/@:username", Profile> | Endpoint<"GET", "/profiles/~me/relationships/suggestions", ArrayResult<Profile>, ArrayOptions<OrganizationProfile | UserProfile>> | Endpoint<"GET", "/profiles/@:username/relationships/followers", ArrayResult<UserProfile>, ArrayOptions<UserProfile>> | Endpoint<"POST", "/profiles/@:username/relationships/follow", boolean, undefined> | Endpoint<"POST", "/profiles/@:username/relationships/unfollow", boolean, undefined>;
208
246
 
209
- declare class AtLeastOneMediaConstraint implements ValidatorConstraintInterface {
210
- validate(_value: unknown, args: ValidationArguments): boolean;
211
- defaultMessage(): string;
212
- }
213
- declare function AtLeastOneMedia(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
214
- type CreateOrganizationEventInput = Omit<ExcludeBase<OrganizationEvent>, "slug" | "styles" | "tickets" | "organization" | "status" | "viewsCount" | "sessionsCount" | "totalViewsCount" | "averageViewsPerSessionCount"> & {
215
- slug?: string;
216
- styles: string[];
217
- tickets: CreateOrganizationEventTicketInput[];
247
+ type UserCustomer = UserProfile & {
248
+ email?: string;
249
+ phoneNumber?: string;
250
+ firstName: string;
251
+ lastName: string;
252
+ fullName: string;
253
+ metadata: UserCustomerMetadata;
254
+ };
255
+ type UserCustomerMetadata = UserProfileMetadata & {
256
+ bookingsCount: number;
257
+ eventsAttendedCount: number;
258
+ totalSpent: number;
259
+ lastBookingAt?: Date;
218
260
  };
219
- declare class BaseOrganizationEventDto {
220
- title: string;
221
- slug?: string;
222
- description: string;
223
- type: OrganizationEventType;
224
- visibility: OrganizationEventVisibilityType;
225
- flyers: string[];
226
- trailers: string[];
227
- location: CreateLocationDto;
228
- styles: string[];
229
- startAt: Date;
230
- endAt: Date;
231
- }
232
- declare class CreateOrganizationEventDto extends BaseOrganizationEventDto implements CreateOrganizationEventInput {
233
- tickets: CreateOrganizationEventTicketDto[];
234
- }
235
261
 
236
- declare class AtLeastOneMediaOnUpdateConstraint implements ValidatorConstraintInterface {
237
- validate(_value: unknown, args: ValidationArguments): boolean;
238
- defaultMessage(): string;
239
- }
240
- declare function AtLeastOneMediaOnUpdate(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
241
- declare class UpdateOrganizationEventDto implements DeepPartial<CreateOrganizationEventInput> {
242
- title?: string;
243
- slug?: string;
244
- description?: string;
245
- type?: OrganizationEventType;
246
- visibility?: OrganizationEventVisibilityType;
247
- flyers?: string[];
248
- trailers?: string[];
249
- location?: UpdateLocationDto;
250
- tickets?: UpdateOrganizationEventTicketDto[];
251
- styles?: string[];
252
- startAt?: Date;
253
- endAt?: Date;
262
+ type UserToken = Omit<Base, "updatedAt"> & {
263
+ type: UserTokenType;
264
+ value: string;
265
+ expiresAt: Date;
266
+ user?: User;
267
+ identifier?: string;
268
+ };
269
+ declare enum UserTokenType {
270
+ Authentication = "authentication",
271
+ BookingTicket = "booking_ticket",
272
+ OrganizationInvite = "organization_invite",
273
+ PasswordRecovery = "password_recovery",
274
+ EmailValidation = "email_validation",
275
+ PhoneValidation = "phone_validation"
254
276
  }
255
277
 
256
- declare class CreateUserDto {
257
- identifier: CreateUserIdentifierDto;
258
- identity: CreateUserIdentityDto;
259
- password: string;
260
- }
261
- declare class CreateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
278
+ type User = Base & {
279
+ identifier: UserIdentifier;
280
+ password?: string;
281
+ identity: UserIdentity;
282
+ role: UserRole;
283
+ addresses: Location$1[];
284
+ preferences: UserPreferences;
285
+ connections: UserConnection[];
286
+ oauthProviders: UserOAuthProvider[];
287
+ isVerified: boolean;
288
+ isOfficial: boolean;
289
+ };
290
+ type UserIdentifier = {
262
291
  email?: string;
263
292
  phoneNumber?: string;
264
293
  username: string;
265
- }
266
- declare class CreateUserIdentityDto {
294
+ };
295
+ type UserIdentity = UserProfile & {
267
296
  firstName: string;
268
297
  lastName: string;
298
+ fullName: string;
269
299
  gender: UserIdentityGender;
270
- avatarUrl?: string;
271
300
  birthDate: Date;
272
- links?: string[];
273
- }
274
-
275
- declare class GoogleOneTapDto {
276
- credential: string;
277
- }
278
-
279
- declare class RecoveryDto {
280
- identifier: string;
281
- }
282
-
283
- declare class RecoveryResetDto {
284
- tokenId: string;
285
- tokenValue: string;
286
- password: string;
287
- }
288
-
289
- declare class SignInUserDto {
290
- identifier: string;
291
- password: string;
292
- }
293
-
294
- declare class UpdateUserDto {
295
- identifier?: UpdateUserIdentifierDto;
296
- identity?: UpdateUserIdentityDto;
297
- password?: string;
301
+ birthDateLastUpdatedAt?: Date;
302
+ };
303
+ declare enum UserRole {
304
+ User = "user",
305
+ Developer = "developer",
306
+ Admin = "admin"
298
307
  }
299
- declare class UpdateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
300
- email?: string;
301
- phoneNumber?: string;
302
- username?: string;
308
+ declare enum UserIdentityGender {
309
+ Male = "male",
310
+ Female = "female",
311
+ NonBinary = "non-binary"
303
312
  }
304
- declare class UpdateUserIdentityDto implements Partial<Pick<UserIdentity, "firstName" | "lastName" | "displayName" | "description" | "avatarUrl" | "bannerUrl" | "gender" | "birthDate">> {
305
- firstName?: string;
306
- lastName?: string;
313
+ type UserPreferences = {
314
+ language: Language;
315
+ currency: Currency;
316
+ notifications: {
317
+ email: {
318
+ newsletter: boolean;
319
+ message: boolean;
320
+ };
321
+ push: {
322
+ message: boolean;
323
+ };
324
+ };
325
+ };
326
+ type UserConnection = {
327
+ ip: string;
328
+ os: UserConnectionOS;
329
+ device: UserConnectionDevice;
330
+ client: UserConnectionClient;
331
+ updatedAt: Date;
332
+ createdAt: Date;
333
+ };
334
+ type UserOAuthProvider = Base & {
335
+ provider: OAuth2Provider;
336
+ providerId: string;
307
337
  displayName?: string;
308
- description?: string;
309
- avatarUrl?: string | undefined;
310
- bannerUrl?: string | undefined;
311
- gender?: UserIdentityGender;
312
- birthDate?: Date;
313
- links?: string[];
314
- }
315
-
316
- declare class CreateUserPostCommentDto {
317
- content: string;
318
- replyToId?: string;
338
+ username?: string;
339
+ email?: string;
340
+ emailVerified: boolean;
341
+ lastUsedAt?: Date;
342
+ };
343
+ type UserConnectionOS = {
344
+ name: string;
345
+ version: string;
346
+ };
347
+ type UserConnectionDevice = {
348
+ type: string;
349
+ brand: string;
350
+ };
351
+ type UserConnectionClient = {
352
+ name: string;
353
+ version: string;
354
+ };
355
+ declare enum UserFileType {
356
+ Avatar = "avatar",
357
+ Banner = "banner"
319
358
  }
359
+ type UserEndpoints = Endpoint<"GET", "/users", User[]> | Endpoint<"GET", "/users/@:userId", User> | Endpoint<"GET", "/users/~me", User> | Endpoint<"GET", "/users/check/:identifier", {
360
+ exists: boolean;
361
+ identifier: Partial<UserIdentifier>;
362
+ suggestions?: string[];
363
+ }, {
364
+ identifier: boolean;
365
+ suggestions?: boolean;
366
+ }> | Endpoint<"PUT", "/users/@:userId", User, UpdateUserDto> | Endpoint<"POST", "/users/@:userId/files/:userFileType", string, FormData> | Endpoint<"POST", "/users/files/:userFileType", string, FormData> | UserBookingEndpoints | UserNotificationEndpoints | UserPostEndpoints;
320
367
 
321
- declare class UpdateUserPostCommentDto {
322
- content: string;
368
+ declare enum OAuth2Provider {
369
+ Google = "google",
370
+ Facebook = "facebook",
371
+ Twitter = "twitter"
323
372
  }
324
-
325
- type UserPostComment = Base & {
326
- post: UserPost;
327
- author: UserProfile;
328
- content: string;
329
- replyTo?: UserPostComment;
330
- isEdited: boolean;
331
- editedAt?: Date;
373
+ type AuthMethod = OAuth2Provider | "password";
374
+ type RecoveryResponse = {
375
+ to: string;
332
376
  };
333
- type UserPostCommentEndpoints = Endpoint<"GET", "/users/@:username/posts/:postId/comments", ArrayResult<UserPostComment>, ArrayOptions<UserPostComment>> | Endpoint<"POST", "/users/~me/posts/:postId/comments", UserPostComment, CreateUserPostCommentDto> | Endpoint<"PUT", "/users/~me/posts/:postId/comments/:commentId", UserPostComment, UpdateUserPostCommentDto> | Endpoint<"DELETE", "/users/~me/posts/:postId/comments/:commentId", void, null>;
377
+ type AuthResponse = {
378
+ user: User;
379
+ accessToken: string;
380
+ refreshToken: string;
381
+ };
382
+ type AuthEndpoints = Endpoint<"POST", "/auth/sign-up", AuthResponse, CreateUserDto> | Endpoint<"POST", "/auth/sign-in", AuthResponse, SignInUserDto> | Endpoint<"POST", "/auth/sign-out", null, undefined> | Endpoint<"POST", "/auth/refresh-token", AuthResponse, undefined> | Endpoint<"POST", "/auth/recovery", RecoveryResponse, RecoveryDto> | Endpoint<"POST", "/auth/recovery/reset", null, RecoveryResetDto> | Endpoint<"GET", "/oauth2/:provider", void> | Endpoint<"GET", "/oauth2/:provider/callback", void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Google}`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Google}/callback`, void> | Endpoint<"POST", `/oauth2/${OAuth2Provider.Google}/one-tap`, AuthResponse, GoogleOneTapDto> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Facebook}`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Facebook}/callback`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Twitter}`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Twitter}/callback`, void> | Endpoint<"DELETE", "/oauth2/:provider", void, undefined>;
334
383
 
335
- declare enum UserPostMediaType {
336
- Image = "image",
337
- Video = "video"
338
- }
339
- type UserPostMedia = {
340
- url: string;
341
- type: UserPostMediaType;
342
- width: number;
343
- height: number;
384
+ type CareersOffice = {
385
+ id: number | null;
386
+ isDefault: boolean | null;
387
+ name: string | null;
388
+ city: string | null;
389
+ countryIso: string | null;
390
+ };
391
+ type CareersJob = {
392
+ id: number;
393
+ createdAt: string;
394
+ lastUpdatedAt: string;
395
+ externalId: null | string;
396
+ title: string;
397
+ status: "ALL" | "ONLINE" | "ARCHIVED";
398
+ remote: boolean;
399
+ office: CareersOffice;
400
+ workplaceType: "ONSITE" | "REMOTE" | "HYBRID";
401
+ remoteType?: "ANYWHERE" | "COUNTRY";
344
402
  description?: string;
345
- isNSFW: boolean;
346
- thumbnailUrl?: string;
347
- duration?: number;
403
+ categoryId?: number;
404
+ employmentTypeId?: number;
348
405
  };
349
- type UserPostMediaEndpoints = Endpoint<"POST", "/users/~me/posts/media", string, FormData>;
350
-
351
- declare class CreateUserPostRepostDto {
352
- comment?: string;
353
- }
354
-
355
- type UserPostRepost = Base & {
356
- originalPost: UserPost;
357
- author: UserProfile;
358
- comment?: string;
406
+ type CareersCategory = {
407
+ slug: string;
408
+ name: string;
409
+ subCategories?: (CareersCategory & {
410
+ id: number;
411
+ })[];
359
412
  };
360
- type UserPostRepostEndpoints = Endpoint<"GET", "/users/@:username/reposts", ArrayResult<UserPostRepost>, ArrayOptions<UserPostRepost>> | Endpoint<"GET", "/users/@:username/posts/:postId/reposts", ArrayResult<UserPostRepost>, ArrayOptions<UserPostRepost>> | Endpoint<"POST", "/users/~me/posts/:postId/reposts", UserPostRepost, CreateUserPostRepostDto> | Endpoint<"DELETE", "/users/~me/posts/:postId/reposts", void, undefined>;
361
-
362
- type UserPostViewEndpoints = Endpoint<"POST", "/users/@:username/posts/:postId/views", boolean, null>;
413
+ type CareersEmploymentType = {
414
+ id: number;
415
+ name: string;
416
+ slug: string;
417
+ };
418
+ type CareerEndpoints = Endpoint<"GET", "/careers/categories", CareersCategory[], {
419
+ language?: string;
420
+ }> | Endpoint<"GET", "/careers/employmentTypes", CareersEmploymentType[], {
421
+ language?: string;
422
+ }> | Endpoint<"GET", "/careers/jobs", CareersJob[], {
423
+ page?: number;
424
+ pageSize?: number;
425
+ createdAtGte: string;
426
+ createdAtLt?: string;
427
+ updatedAtGte?: string;
428
+ updatedAtLt?: string;
429
+ status?: "ALL" | "ONLINE" | "ARCHIVED";
430
+ content?: boolean;
431
+ titleLike?: string;
432
+ countryCode?: string;
433
+ externalId?: string;
434
+ }> | Endpoint<"GET", "/careers/jobs/:jobId", CareersJob, {
435
+ jobId: number;
436
+ }> | Endpoint<"GET", "/careers/offices", CareersOffice[], {
437
+ page?: number;
438
+ pageSize?: number;
439
+ countryCode?: string;
440
+ cityNameLike?: string;
441
+ }>;
363
442
 
364
- declare enum UserPostVisibility {
365
- Public = "public",
366
- Followers = "followers",
367
- Private = "private"
443
+ declare enum ChannelMessageReportReason {
444
+ Dislike = "dislike",
445
+ HarassmentSelf = "harassment_self",
446
+ HarassmentOther = "harassment_other",
447
+ SexualHarassmentSelf = "sexual_harassment_self",
448
+ NudesSelf = "nudes_self",
449
+ SexualContent = "sexual_content",
450
+ ChildInvolved = "child_involved",
451
+ ThreatTarget = "threat_target",
452
+ ViolentContent = "violent_content",
453
+ HateSpeech = "hate_speech",
454
+ Terrorism = "terrorism",
455
+ DrugSale = "drug_sale",
456
+ WeaponSale = "weapon_sale",
457
+ SelfHarmConcern = "self_harm_concern",
458
+ SelfHarmPromotion = "self_harm_promotion",
459
+ Other = "other"
368
460
  }
369
- type UserPost = Base & {
370
- author: UserProfile;
461
+ type ChannelMessageReadByEntry = {
462
+ participant: ChannelParticipant;
463
+ readAt: Date;
464
+ };
465
+ type ChannelMessageReaction = {
466
+ emoji: string;
467
+ participants: ChannelParticipant[];
468
+ };
469
+ type ChannelMessage = Base & {
470
+ channel: Channel;
471
+ sender: ChannelParticipant;
371
472
  content?: string;
372
- media: UserPostMedia[];
373
- visibility: UserPostVisibility;
374
- metrics: {
375
- reposts: number;
376
- comments: number;
377
- views: number;
378
- };
379
- isReposted?: boolean;
473
+ attachments: string[];
474
+ isSent: boolean;
475
+ isDelivered: boolean;
476
+ isRead: boolean;
477
+ readBy?: ChannelMessageReadByEntry[];
380
478
  isEdited: boolean;
381
479
  editedAt?: Date;
480
+ replyTo?: ChannelMessage;
481
+ reactions?: ChannelMessageReaction[];
382
482
  };
383
- type UserPostEndpoints = Endpoint<"GET", "/users/@:username/posts", ArrayResult<UserPost>, ArrayOptions<UserPost>> | Endpoint<"GET", "/users/@:username/posts/:postId", UserPost> | Endpoint<"POST", "/users/~me/posts", UserPost, CreateUserPostDto> | Endpoint<"PUT", "/users/~me/posts/:postId", UserPost, UpdateUserPostDto> | Endpoint<"DELETE", "/users/~me/posts/:postId", void, undefined> | UserPostCommentEndpoints | UserPostRepostEndpoints | UserPostViewEndpoints | UserPostMediaEndpoints;
384
-
385
- declare class CreateUserPostDto {
386
- content?: string;
387
- mediaUrls: string[];
388
- visibility?: UserPostVisibility;
389
- }
483
+ type ChannelMessageEndpoints = Endpoint<"GET", "/channels/~me/:channelId/messages", ArrayResult<ChannelMessage>, ArrayOptions<ChannelMessage>> | Endpoint<"GET", "/channels/:organizationSlug/:channelId/messages", ArrayResult<ChannelMessage>, ArrayOptions<ChannelMessage>> | Endpoint<"GET", "/channels/~me/:channelId/messages/:messageId", ChannelMessage> | Endpoint<"GET", "/channels/:organizationSlug/:channelId/messages/:messageId", ChannelMessage> | Endpoint<"POST", "/channels/~me/:channelId/messages", ChannelMessage, CreateChannelMessageDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages", ChannelMessage, CreateChannelMessageDto> | Endpoint<"PUT", "/channels/~me/:channelId/messages/:messageId", ChannelMessage, UpdateChannelMessageDto> | Endpoint<"PUT", "/channels/:organizationSlug/:channelId/messages/:messageId", ChannelMessage, UpdateChannelMessageDto> | Endpoint<"DELETE", "/channels/~me/:channelId/messages/:messageId", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId/messages/:messageId", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/messages/:messageId/reactions", void, AddReactionDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages/:messageId/reactions", void, AddReactionDto> | Endpoint<"DELETE", "/channels/~me/:channelId/messages/:messageId/reactions/:emoji", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId/messages/:messageId/reactions/:emoji", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/messages/:messageId/read", void, undefined> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages/:messageId/read", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/files", string, FormData> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/files", string, FormData> | Endpoint<"POST", "/channels/~me/:channelId/messages/:messageId/report", void, ReportChannelMessageDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages/:messageId/report", void, ReportChannelMessageDto>;
390
484
 
391
- declare class UpdateUserPostDto {
392
- content?: string;
393
- visibility?: UserPostVisibility;
485
+ declare enum ChannelType {
486
+ Private = "private",
487
+ Group = "group"
394
488
  }
395
-
396
- declare enum ApiKeyTier {
397
- PUBLIC = "public",
398
- BUILD = "build",
399
- PREMIUM = "premium",
400
- INTERNAL = "internal"
489
+ declare enum ChannelMemberRole {
490
+ Member = "member",
491
+ Admin = "admin"
401
492
  }
402
- type ApiKey = Base & {
403
- key: string;
404
- name: string;
405
- tier: ApiKeyTier;
406
- rateLimit: number;
407
- user: UserProfile;
408
- lastUsedAt?: Date;
409
- isActive: boolean;
410
- };
411
- type ApiKeyEndpoints = Endpoint<"GET", "/api-keys", ArrayResult<ApiKey>> | Endpoint<"GET", "/api-keys/:apiKeyId", ApiKey> | Endpoint<"POST", "/api-keys", ApiKey, CreateApiKeyDto> | Endpoint<"PUT", "/api-keys/:apiKeyId", ApiKey, UpdateApiKeyDto> | Endpoint<"DELETE", "/api-keys/:apiKeyId", ApiKey, undefined>;
412
-
413
- declare enum UserNotificationType {
414
- Follow = "follow"
493
+ type ChannelParticipant = Profile;
494
+ declare enum ChannelStatus {
495
+ Sent = "sent",
496
+ Delivered = "delivered",
497
+ Read = "read",
498
+ Received = "received",
499
+ Opened = "opened"
415
500
  }
416
- type UserNotificationBase = Base & {
417
- type: UserNotificationType.Follow;
418
- isSeen: boolean;
501
+ type Channel = Base & {
502
+ type: ChannelType;
503
+ participants: ChannelParticipant[];
504
+ name?: string;
505
+ lastMessageAt?: Date;
506
+ status?: ChannelStatus;
507
+ unreadCount?: number;
419
508
  };
420
- type UserNotificationFollow = UserNotificationBase & {
421
- type: UserNotificationType.Follow;
422
- follower: UserProfile;
509
+ type ChannelMember = {
510
+ participant: ChannelParticipant;
511
+ joinedAt: Date;
512
+ role?: ChannelMemberRole;
513
+ lastReadAt?: Date;
423
514
  };
424
- type UserNotification = UserNotificationFollow;
425
- type UserNotificationEndpoints = Endpoint<"GET", "/users/~me/notifications", ArrayResult<UserNotification>, ArrayOptions<UserNotification>> | Endpoint<"GET", "/users/~me/notifications/count", number, {
515
+ type UserChannelCountOptions = {
426
516
  unseen?: boolean;
427
- }> | Endpoint<"PUT", "/users/~me/notifications/read", void, undefined>;
428
-
429
- type UserBookingTicket = Base & {
430
- booking: UserBookingWithoutTickets;
431
- ticket: OrganizationEventTicket;
432
- token: UserToken;
433
- useCount: number;
434
517
  };
435
- type UserBookingTicketEndpoints = Endpoint<"GET", "/users/bookings/tickets/:ticketId", UserBookingTicket, {
436
- tokenId: string;
437
- tokenValue: string;
438
- }> | Endpoint<"PUT", "/users/bookings/tickets/:ticketId/use", UserBookingTicket, {
439
- tokenId: string;
440
- tokenValue: string;
441
- }>;
518
+ type ChannelEndpoints = Endpoint<"GET", "/channels/~me", ArrayResult<Channel>, ArrayOptions<Channel>> | Endpoint<"GET", "/channels/:organizationSlug", ArrayResult<Channel>, ArrayOptions<Channel>> | Endpoint<"GET", "/users/~me/channels/count", number, UserChannelCountOptions> | Endpoint<"GET", "/users/@:organizationSlug/channels/count", number, UserChannelCountOptions> | Endpoint<"GET", "/channels/~me/:channelId", Channel> | Endpoint<"GET", "/channels/:organizationSlug/:channelId", Channel> | Endpoint<"POST", "/channels/~me", Channel, CreateChannelDto> | Endpoint<"POST", "/channels/:organizationSlug", Channel, CreateChannelDto> | Endpoint<"PUT", "/channels/~me/:channelId", Channel, UpdateChannelDto> | Endpoint<"PUT", "/channels/:organizationSlug/:channelId", Channel, UpdateChannelDto> | Endpoint<"DELETE", "/channels/~me/:channelId", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/participants", void, AddParticipantDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/participants", void, AddParticipantDto> | Endpoint<"DELETE", "/channels/~me/:channelId/participants/:username", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId/participants/:username", void, undefined> | Endpoint<"GET", "/channels/~me/:channelId/members", ArrayResult<ChannelMember>, ArrayOptions<ChannelMember>> | Endpoint<"GET", "/channels/:organizationSlug/:channelId/members", ArrayResult<ChannelMember>, ArrayOptions<ChannelMember>>;
442
519
 
443
- type Order = Base & {
444
- invoice: Stripe__default.Invoice;
445
- user: UserProfile;
520
+ declare enum Currency {
521
+ EUR = "EUR",
522
+ USD = "USD",
523
+ GBP = "GBP",
524
+ BGN = "BGN",
525
+ CZK = "CZK",
526
+ DKK = "DKK",
527
+ HUF = "HUF",
528
+ PLN = "PLN",
529
+ RON = "RON",
530
+ SEK = "SEK",
531
+ CHF = "CHF",
532
+ NOK = "NOK",
533
+ ISK = "ISK",
534
+ TRY = "TRY",
535
+ RUB = "RUB",
536
+ UAH = "UAH",
537
+ BAM = "BAM",
538
+ MKD = "MKD",
539
+ ALL = "ALL",
540
+ RSD = "RSD",
541
+ MDL = "MDL",
542
+ GEL = "GEL",
543
+ BYN = "BYN"
544
+ }
545
+ type ExchangeRates = {
546
+ base: Currency.EUR;
547
+ rates: Record<Currency, number>;
548
+ updatedAt: Date;
446
549
  };
447
- type OrderEndpoints = Endpoint<"GET", "/orders", ArrayResult<Order>, ArrayOptions<Order>> | Endpoint<"GET", "/orders/:orderId", Order>;
448
-
449
- type UserBookingWithoutTickets = Omit<UserBooking, "tickets">;
450
- type UserBooking = Base & {
451
- tickets: UserBookingTicket[];
452
- order: Order;
453
- customer: OrganizationCustomer;
454
- event: OrganizationEvent;
550
+ type CurrencyConversion = {
551
+ from: Currency;
552
+ to: Currency;
553
+ amount: number;
455
554
  };
456
- type UserBookingEndpoints = Endpoint<"GET", "/users/bookings", ArrayResult<UserBooking>, ArrayOptions<UserBooking>> | Endpoint<"GET", "/users/~me/bookings", ArrayResult<UserBooking>, ArrayOptions<UserBooking>> | Endpoint<"GET", "/users/@:userId/bookings", ArrayResult<UserBooking>, ArrayOptions<UserBooking>> | Endpoint<"GET", "/users/bookings/:bookingId", UserBooking> | Endpoint<"GET", "/users/~me/bookings/:bookingId", UserBooking> | UserBookingTicketEndpoints;
555
+ type CurrencyConversionResult = {
556
+ originalAmount: number;
557
+ originalCurrency: Currency;
558
+ convertedAmount: number;
559
+ targetCurrency: Currency;
560
+ exchangeRate: number;
561
+ convertedAt: Date;
562
+ };
563
+ type CurrenciesEndpoints = Endpoint<"GET", "/currencies/rates", ExchangeRates> | Endpoint<"POST", "/currencies/convert", CurrencyConversionResult, CurrencyConversion>;
457
564
 
458
- declare enum ProfileType {
459
- User = "user",
460
- Organization = "organization"
565
+ declare enum ErrorType {
566
+ AuthEmailAlreadyExists = "auth.email-already-exists",
567
+ AuthUsernameAlreadyExists = "auth.username-already-exists",
568
+ AuthPhoneNumberAlreadyExists = "auth.phone-number-already-exists",
569
+ AuthInvalidCredentials = "auth.invalid-credentials",
570
+ AuthUserNotFound = "auth.user-not-found",
571
+ AuthInvalidToken = "auth.invalid-token",
572
+ AuthTokenExpired = "auth.token-expired",
573
+ AuthUnauthorized = "auth.unauthorized",
574
+ AuthPasswordMismatch = "auth.password-mismatch",
575
+ AuthInvalidOAuth2Provider = "auth.invalid-oauth2-provider",
576
+ AuthOAuth2Error = "auth.oauth2-error",
577
+ UserNotFound = "user.not-found",
578
+ UserInvalidUsername = "user.invalid-username",
579
+ UserInvalidEmail = "user.invalid-email",
580
+ UserInvalidPhoneNumber = "user.invalid-phone-number",
581
+ UserInvalidPassword = "user.invalid-password",
582
+ UserInvalidBirthDate = "user.invalid-birth-date",
583
+ UserInvalidGender = "user.invalid-gender",
584
+ UserInvalidRole = "user.invalid-role",
585
+ UserInvalidPreferences = "user.invalid-preferences",
586
+ UserInvalidLocation = "user.invalid-location",
587
+ UserInvalidFile = "user.invalid-file",
588
+ UserFileTooLarge = "user.file-too-large",
589
+ UserUnsupportedFileType = "user.unsupported-file-type",
590
+ OrganizationNotFound = "organization.not-found",
591
+ OrganizationInvalidSlug = "organization.invalid-slug",
592
+ OrganizationInvalidName = "organization.invalid-name",
593
+ OrganizationInvalidDescription = "organization.invalid-description",
594
+ OrganizationInvalidLocation = "organization.invalid-location",
595
+ OrganizationInvalidSocialLink = "organization.invalid-social-link",
596
+ OrganizationAlreadyExists = "organization.already-exists",
597
+ OrganizationUnauthorized = "organization.unauthorized",
598
+ OrganizationMemberNotFound = "organization.member-not-found",
599
+ OrganizationMemberInvalidRole = "organization.member-invalid-role",
600
+ OrganizationMemberAlreadyExists = "organization.member-already-exists",
601
+ EventNotFound = "event.not-found",
602
+ EventInvalidTitle = "event.invalid-title",
603
+ EventInvalidDescription = "event.invalid-description",
604
+ EventInvalidLocation = "event.invalid-location",
605
+ EventInvalidDates = "event.invalid-dates",
606
+ EventInvalidTickets = "event.invalid-tickets",
607
+ EventInvalidStyles = "event.invalid-styles",
608
+ EventInvalidType = "event.invalid-type",
609
+ EventInvalidVisibility = "event.invalid-visibility",
610
+ EventUnavailable = "event.unavailable",
611
+ EventTicketNotFound = "event.ticket-not-found",
612
+ EventTicketUnavailable = "event.ticket-unavailable",
613
+ EventTicketInvalidQuantity = "event.ticket-invalid-quantity",
614
+ OrderNotFound = "order.not-found",
615
+ OrderInvalidStatus = "order.invalid-status",
616
+ OrderInvalidPayment = "order.invalid-payment",
617
+ OrderPaymentFailed = "order.payment-failed",
618
+ OrderAlreadyPaid = "order.already-paid",
619
+ OrderCancelled = "order.cancelled",
620
+ OrderRefunded = "order.refunded",
621
+ OrderExpired = "order.expired",
622
+ BookingNotFound = "booking.not-found",
623
+ BookingInvalidStatus = "booking.invalid-status",
624
+ BookingInvalidTickets = "booking.invalid-tickets",
625
+ BookingTicketNotFound = "booking.ticket-not-found",
626
+ BookingTicketInvalidToken = "booking.ticket-invalid-token",
627
+ BookingTicketExpired = "booking.ticket-expired",
628
+ BookingTicketUsed = "booking.ticket-used",
629
+ FileNotFound = "file.not-found",
630
+ FileInvalidType = "file.invalid-type",
631
+ FileTooLarge = "file.too-large",
632
+ FileUploadFailed = "file.upload-failed",
633
+ ValidationError = "validation.error",
634
+ DatabaseError = "database.error",
635
+ InternalServerError = "server.internal-error",
636
+ NotFound = "not-found",
637
+ BadRequest = "bad-request",
638
+ Unauthorized = "unauthorized",
639
+ Forbidden = "forbidden",
640
+ TooManyRequests = "too-many-requests",
641
+ ServiceUnavailable = "service-unavailable",
642
+ TooManyRequestsAuth = "rate-limit.auth",
643
+ TooManyRequestsApi = "rate-limit.api",
644
+ WebhookInvalidSignature = "webhook.invalid-signature",
645
+ WebhookInvalidEvent = "webhook.invalid-event",
646
+ WebhookProcessingFailed = "webhook.processing-failed",
647
+ PaymentRequired = "payment.required",
648
+ PaymentMethodRequired = "payment.method-required",
649
+ PaymentFailed = "payment.failed",
650
+ PaymentCancelled = "payment.cancelled",
651
+ PaymentRefunded = "payment.refunded",
652
+ BillingInvalidAccount = "billing.invalid-account",
653
+ BillingAccountRequired = "billing.account-required",
654
+ NotificationInvalidType = "notification.invalid-type",
655
+ NotificationSendingFailed = "notification.sending-failed",
656
+ CacheError = "cache.error",
657
+ CacheMiss = "cache.miss",
658
+ ExternalServiceError = "external-service.error",
659
+ ExternalServiceTimeout = "external-service.timeout",
660
+ ExternalServiceUnavailable = "external-service.unavailable"
461
661
  }
462
- type BaseProfile = {
463
- type: ProfileType;
464
- slug: string;
465
- displayName: string;
466
- description?: string;
467
- avatarUrl?: string;
468
- bannerUrl?: string;
469
- links: string[];
470
- metadata: ProfileMetadata;
471
- createdAt: Date;
472
- };
473
- type UserProfile = BaseProfile & {
474
- type: ProfileType.User;
475
- metadata: UserProfileMetadata;
476
- };
477
- type OrganizationProfile = BaseProfile & {
478
- type: ProfileType.Organization;
479
- metadata: OrganizationProfileMetadata;
480
- };
481
- type Profile = UserProfile | OrganizationProfile;
482
- type BaseProfileMetadata = {
483
- followersCount: number;
484
- isFollower: boolean;
485
- isFollowing: boolean;
486
- isBlocked: boolean;
487
- hasBlocked: boolean;
488
- canDM: boolean;
489
- isOfficial: boolean;
662
+
663
+ declare enum FeedType {
664
+ Following = "following",
665
+ Discover = "discover"
666
+ }
667
+ type FeedPost = UserPost | OrganizationEvent[];
668
+ type FeedEndpoints = Endpoint<"GET", "/feed/following", ArrayResult<FeedPost>, ArrayOptions<FeedPost>> | Endpoint<"GET", "/feed/discover", ArrayResult<FeedPost>, ArrayOptions<FeedPost>>;
669
+
670
+ interface Health<T extends string = string> extends HealthCheckResult {
671
+ info?: Record<T, HealthIndicatorResult[T]>;
672
+ error?: Record<T, HealthIndicatorResult[T]>;
673
+ details: Record<T, HealthIndicatorResult[T]>;
674
+ }
675
+ type HealthEndpoints = Endpoint<"GET", "/health", Health<"database" | "app" | "api" | "database">> | Endpoint<"GET", "/health/database", Health<"database">> | Endpoint<"GET", "/health/api", Health<"api">> | Endpoint<"GET", "/health/app", Health<"app">>;
676
+
677
+ /**
678
+ * Represents a GeoJSON point with specific geographic coordinates.
679
+ *
680
+ * @see https://geojson.org/geojson-spec.html#point
681
+ *
682
+ * @property {"Point"} type - The type of the geometry, which is always "Point" for a GeoJSON point.
683
+ * @property {[number, number]} coordinates - The coordinates of the point, represented as [longitude, latitude].
684
+ */
685
+ type GeoPoint = {
686
+ type: "Point";
687
+ coordinates: [number, number];
490
688
  };
491
- type UserProfileMetadata = BaseProfileMetadata & {
492
- hasPassPlus: boolean;
689
+ type Location$1 = {
690
+ name?: string;
691
+ address: string;
692
+ zipCode: string;
693
+ city: string;
694
+ country: string;
695
+ geometry: GeoPoint;
493
696
  };
494
- type OrganizationProfileMetadata = BaseProfileMetadata & {
495
- eventsCount: number;
496
- viewsCount: number;
497
- membersCount: number;
697
+ type GeoSearchAggregation<T> = {
698
+ metadata: {
699
+ total: number;
700
+ }[];
701
+ data: T[];
498
702
  };
499
- type ProfileMetadata = UserProfileMetadata | OrganizationProfileMetadata;
500
- type SearchProfilesOptions = ArrayOptions<Profile> & {
501
- q: string;
703
+ type Distance<T> = T & {
704
+ distance: number;
502
705
  };
503
- type ProfileEndpoints = Endpoint<"GET", "/profiles", ArrayResult<Profile>, ArrayOptions<Profile>> | Endpoint<"GET", "/profiles/search", ArrayResult<Profile>, SearchProfilesOptions> | Endpoint<"GET", "/profiles/@:username", Profile> | Endpoint<"GET", "/profiles/~me/relationships/suggestions", ArrayResult<Profile>, ArrayOptions<OrganizationProfile | UserProfile>> | Endpoint<"GET", "/profiles/@:username/relationships/followers", ArrayResult<UserProfile>, ArrayOptions<UserProfile>> | Endpoint<"POST", "/profiles/@:username/relationships/follow", boolean, undefined> | Endpoint<"POST", "/profiles/@:username/relationships/unfollow", boolean, undefined>;
504
706
 
505
- type UserCustomer = UserProfile & {
506
- email?: string;
507
- phoneNumber?: string;
508
- firstName: string;
509
- lastName: string;
510
- fullName: string;
511
- metadata: UserCustomerMetadata;
512
- };
513
- type UserCustomerMetadata = UserProfileMetadata & {
514
- bookingsCount: number;
515
- eventsAttendedCount: number;
516
- totalSpent: number;
517
- lastBookingAt?: Date;
518
- };
707
+ type NotificationEndpoints = Endpoint<"POST", "/notifications/subscribe/beta", null, {
708
+ email: string;
709
+ }>;
519
710
 
520
- type UserToken = Omit<Base, "updatedAt"> & {
521
- type: UserTokenType;
522
- value: string;
523
- expiresAt: Date;
524
- user?: User;
525
- identifier?: string;
526
- };
527
- declare enum UserTokenType {
528
- Authentication = "authentication",
529
- BookingTicket = "booking_ticket",
530
- OrganizationInvite = "organization_invite",
531
- PasswordRecovery = "password_recovery",
532
- EmailValidation = "email_validation",
533
- PhoneValidation = "phone_validation"
711
+ type OrganizationEventOrderEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/orders", Order, CreateOrganizationEventOrderDto>;
712
+
713
+ declare class CreateOrganizationEventStyleDto {
714
+ type: OrganizationEventStyleType;
715
+ emoji: string;
716
+ name: string;
534
717
  }
535
718
 
536
- type User = Base & {
537
- identifier: UserIdentifier;
538
- password?: string;
539
- identity: UserIdentity;
540
- role: UserRole;
541
- addresses: Location$1[];
542
- preferences: UserPreferences;
543
- connections: UserConnection[];
544
- oauthProviders: UserOAuthProvider[];
545
- isVerified: boolean;
546
- isOfficial: boolean;
719
+ declare class UpdateOrganizationEventStyleDto extends CreateOrganizationEventStyleDto {
720
+ }
721
+
722
+ type OrganizationEventStyle = Base & {
723
+ type: OrganizationEventStyleType;
724
+ emoji: string;
725
+ name: string;
726
+ slug: string;
547
727
  };
548
- type UserIdentifier = {
549
- email?: string;
550
- phoneNumber?: string;
551
- username: string;
728
+ declare enum OrganizationEventStyleType {
729
+ Music = "music",
730
+ Dress = "dress",
731
+ Sport = "sport",
732
+ Food = "food",
733
+ Art = "art"
734
+ }
735
+ type OrganizationEventStyleEndpoints = Endpoint<"GET", "/organizations/events/styles", OrganizationEventStyle[]> | Endpoint<"GET", "/organizations/events/styles/:styleSlug", OrganizationEventStyle> | Endpoint<"POST", "/organizations/events/styles", OrganizationEventStyle, CreateOrganizationEventStyleDto> | Endpoint<"PUT", "/organizations/events/styles/:styleSlug", OrganizationEventStyle, UpdateOrganizationEventStyleDto> | Endpoint<"DELETE", "/organizations/events/styles/:styleSlug", OrganizationEventStyle[], null>;
736
+
737
+ type OrganizationEventViewEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/views", boolean, null>;
738
+
739
+ type OrganizationEventTicket = Base & {
740
+ name: string;
741
+ description?: string;
742
+ price: Stripe__default.Price;
743
+ product: Stripe__default.Product;
744
+ fee: number;
745
+ quantity: number;
746
+ type: OrganizationEventTicketType;
747
+ category: OrganizationEventTicketCategory;
748
+ externalId?: string;
749
+ isVisible: boolean;
750
+ isFeesIncluded: boolean;
751
+ startAt?: Date;
752
+ endAt?: Date;
753
+ event: OrganizationEvent;
552
754
  };
553
- type UserIdentity = UserProfile & {
554
- firstName: string;
555
- lastName: string;
556
- fullName: string;
557
- gender: UserIdentityGender;
558
- birthDate: Date;
559
- birthDateLastUpdatedAt?: Date;
755
+ declare enum OrganizationEventTicketType {
756
+ ETicket = "e-ticket",
757
+ Other = "other"
758
+ }
759
+ declare enum OrganizationEventTicketCategory {
760
+ Entry = "entry",
761
+ Package = "package",
762
+ Meal = "meal",
763
+ Drink = "drink",
764
+ Parking = "parking",
765
+ Accommodation = "accommodation",
766
+ Camping = "camping",
767
+ Locker = "locker",
768
+ Shuttle = "shuttle",
769
+ Other = "other"
770
+ }
771
+ type OrganizationEventTicketEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/tickets", OrganizationEventTicket[]> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket> | Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/tickets", OrganizationEventTicket, CreateOrganizationEventTicketDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket, UpdateOrganizationEventTicketDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket[], null>;
772
+
773
+ type OrganizationEvent = Base & {
774
+ title: string;
775
+ description: string;
776
+ slug: string;
777
+ organization: OrganizationProfile;
778
+ type: OrganizationEventType;
779
+ visibility: OrganizationEventVisibilityType;
780
+ flyers: string[];
781
+ trailers: string[];
782
+ location: Location$1;
783
+ tickets: OrganizationEventTicket[];
784
+ styles: OrganizationEventStyle[];
785
+ status: OrganizationEventStatus;
786
+ viewsCount: number;
787
+ sessionsCount: number;
788
+ totalViewsCount: number;
789
+ averageViewsPerSessionCount: number;
790
+ startAt: Date;
791
+ endAt: Date;
560
792
  };
561
- declare enum UserRole {
562
- User = "user",
563
- Developer = "developer",
564
- Admin = "admin"
793
+ declare enum OrganizationEventType {
794
+ Clubbing = "clubbing",
795
+ Concert = "concert",
796
+ Festival = "festival",
797
+ HouseParty = "house_party",
798
+ FriendsParty = "friends_party",
799
+ Afterwork = "afterwork",
800
+ DancingLunch = "dancing_lunch",
801
+ Diner = "diner",
802
+ Garden = "garden",
803
+ AfterBeach = "after_beach",
804
+ Spectacle = "spectacle",
805
+ Cruise = "cruise",
806
+ OutsideAnimation = "outside_animation",
807
+ Sport = "sport",
808
+ Match = "match",
809
+ Seminar = "seminar",
810
+ Conference = "conference",
811
+ WellnessDay = "wellness_day",
812
+ Workshop = "workshop",
813
+ TradeFair = "trade_fair",
814
+ ConsumerShow = "consumer_show",
815
+ Membership = "membership"
565
816
  }
566
- declare enum UserIdentityGender {
567
- Male = "male",
568
- Female = "female",
569
- NonBinary = "non-binary"
817
+ declare enum OrganizationEventVisibilityType {
818
+ Public = "public",
819
+ Unlisted = "unlisted",
820
+ Private = "private"
570
821
  }
571
- type UserPreferences = {
572
- language: Language;
573
- currency: Currency;
574
- notifications: {
575
- email: {
576
- newsletter: boolean;
577
- message: boolean;
822
+ declare enum OrganizationEventFileType {
823
+ Flyer = "flyer",
824
+ Trailer = "trailer"
825
+ }
826
+ declare enum OrganizationEventStatus {
827
+ Upcoming = "upcoming",
828
+ Ongoing = "ongoing",
829
+ Ended = "ended"
830
+ }
831
+ type OrganizationEventArrayOptions = ArrayOptions<OrganizationEvent> & {
832
+ status?: OrganizationEventStatus | OrganizationEventStatus[];
833
+ types?: OrganizationEventType | OrganizationEventType[];
834
+ styles?: string | string[];
835
+ };
836
+ type SearchOrganizationEventsOptions = ArrayOptions<OrganizationEvent> & {
837
+ q: string;
838
+ };
839
+ type OrganizationEventCalendar = {
840
+ [date: string]: OrganizationEvent[];
841
+ };
842
+ type OrganizationEventEndpoints = Endpoint<"GET", "/organizations/events/search", ArrayResult<OrganizationEvent>, SearchOrganizationEventsOptions> | Endpoint<"GET", "/organizations/events/calendar/:year/:month", OrganizationEventCalendar> | Endpoint<"GET", "/organizations/events", ArrayResult<OrganizationEvent>, OrganizationEventArrayOptions> | Endpoint<"GET", "/organizations/events/suggestions", ArrayResult<OrganizationEvent>, ArrayOptions<OrganizationEvent>> | Endpoint<"GET", "/organizations/events/nearby", ArrayResult<OrganizationEvent>, ArrayOptions<OrganizationEvent> & {
843
+ latitude: number;
844
+ longitude: number;
845
+ radius?: number;
846
+ }> | Endpoint<"GET", "/organizations/@:organizationSlug/events", ArrayResult<OrganizationEvent>, OrganizationEventArrayOptions> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug", OrganizationEvent> | Endpoint<"POST", "/organizations/@:organizationSlug/events", OrganizationEvent, CreateOrganizationEventDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/events/:eventSlug", OrganizationEvent, UpdateOrganizationEventDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/events/:eventSlug", OrganizationEvent, null> | Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/files/:eventFileType", string, FormData> | Endpoint<"POST", "/events/files/:eventFileType", string, FormData> | OrganizationEventOrderEndpoints | OrganizationEventStyleEndpoints | OrganizationEventTicketEndpoints | OrganizationEventViewEndpoints;
847
+
848
+ type OrganizationAnalyticsOverview = {
849
+ metrics: {
850
+ totalRevenue: {
851
+ current: number;
852
+ previous: number;
853
+ percentageChange: number;
578
854
  };
579
- push: {
580
- message: boolean;
855
+ totalOrders: {
856
+ current: number;
857
+ previous: number;
858
+ percentageChange: number;
581
859
  };
860
+ totalTicketsSold: {
861
+ current: number;
862
+ previous: number;
863
+ percentageChange: number;
864
+ };
865
+ activeEvents: number;
582
866
  };
867
+ chartData: {
868
+ date: string;
869
+ revenues: number;
870
+ orders: number;
871
+ ticketsSold: number;
872
+ events: number;
873
+ }[];
583
874
  };
584
- type UserConnection = {
585
- ip: string;
586
- os: UserConnectionOS;
587
- device: UserConnectionDevice;
588
- client: UserConnectionClient;
589
- updatedAt: Date;
590
- createdAt: Date;
591
- };
592
- type UserOAuthProvider = Base & {
593
- provider: OAuth2Provider;
594
- providerId: string;
595
- displayName?: string;
596
- username?: string;
597
- email?: string;
598
- emailVerified: boolean;
599
- lastUsedAt?: Date;
600
- };
601
- type UserConnectionOS = {
602
- name: string;
603
- version: string;
875
+ type OrganizationEventAnalytics = {
876
+ event: OrganizationEvent;
877
+ metrics: {
878
+ totalViews: number;
879
+ uniqueViews: number;
880
+ sessionsCount: number;
881
+ totalRevenue: number;
882
+ totalOrders: number;
883
+ totalTicketsSold: number;
884
+ };
604
885
  };
605
- type UserConnectionDevice = {
606
- type: string;
607
- brand: string;
886
+ type AnalyticsOptions = {
887
+ period?: "7d" | "30d" | "90d" | "12m";
888
+ startDate?: string;
889
+ endDate?: string;
608
890
  };
609
- type UserConnectionClient = {
610
- name: string;
611
- version: string;
891
+ type EventAnalyticsOptions = AnalyticsOptions & {
892
+ status?: "upcoming" | "past" | "all";
612
893
  };
613
- declare enum UserFileType {
614
- Avatar = "avatar",
615
- Banner = "banner"
616
- }
617
- type UserEndpoints = Endpoint<"GET", "/users", User[]> | Endpoint<"GET", "/users/@:userId", User> | Endpoint<"GET", "/users/~me", User> | Endpoint<"GET", "/users/check/:identifier", {
618
- exists: boolean;
619
- identifier: Partial<UserIdentifier>;
620
- suggestions?: string[];
621
- }, {
622
- identifier: boolean;
623
- suggestions?: boolean;
624
- }> | Endpoint<"PUT", "/users/@:userId", User, UpdateUserDto> | Endpoint<"POST", "/users/@:userId/files/:userFileType", string, FormData> | Endpoint<"POST", "/users/files/:userFileType", string, FormData> | UserBookingEndpoints | UserNotificationEndpoints | UserPostEndpoints;
894
+ type OrganizationAnalyticsEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/analytics/overview", OrganizationAnalyticsOverview, AnalyticsOptions> | Endpoint<"GET", "/organizations/@:organizationSlug/analytics/events", ArrayResult<OrganizationEventAnalytics>, ArrayOptions<OrganizationEventAnalytics> & EventAnalyticsOptions>;
625
895
 
626
- declare enum OAuth2Provider {
627
- Google = "google",
628
- Facebook = "facebook",
629
- Twitter = "twitter"
630
- }
631
- type AuthMethod = OAuth2Provider | "password";
632
- type RecoveryResponse = {
633
- to: string;
896
+ type OrganizationCustomer = UserProfile & {
897
+ email?: string;
898
+ phoneNumber?: string;
899
+ firstName: string;
900
+ lastName: string;
901
+ fullName: string;
902
+ birthDate: Date;
903
+ metadata: OrganizationCustomerMetadata;
634
904
  };
635
- type AuthResponse = {
636
- user: User;
637
- accessToken: string;
638
- refreshToken: string;
905
+ type OrganizationCustomerMetadata = UserProfileMetadata & {
906
+ bookingsCount: number;
907
+ eventsAttendedCount: number;
908
+ totalSpent: number;
909
+ lastBookingAt?: Date;
639
910
  };
640
- type AuthEndpoints = Endpoint<"POST", "/auth/sign-up", AuthResponse, CreateUserDto> | Endpoint<"POST", "/auth/sign-in", AuthResponse, SignInUserDto> | Endpoint<"POST", "/auth/sign-out", null, undefined> | Endpoint<"POST", "/auth/refresh-token", AuthResponse, undefined> | Endpoint<"POST", "/auth/recovery", RecoveryResponse, RecoveryDto> | Endpoint<"POST", "/auth/recovery/reset", null, RecoveryResetDto> | Endpoint<"GET", "/oauth2/:provider", void> | Endpoint<"GET", "/oauth2/:provider/callback", void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Google}`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Google}/callback`, void> | Endpoint<"POST", `/oauth2/${OAuth2Provider.Google}/one-tap`, AuthResponse, GoogleOneTapDto> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Facebook}`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Facebook}/callback`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Twitter}`, void> | Endpoint<"GET", `/oauth2/${OAuth2Provider.Twitter}/callback`, void> | Endpoint<"DELETE", "/oauth2/:provider", void, undefined>;
911
+ type OrganizationCustomersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/customers", ArrayResult<OrganizationCustomer>, ArrayOptions<OrganizationCustomer>> | Endpoint<"GET", "/organizations/@:organizationSlug/customers/:username", OrganizationCustomer>;
641
912
 
642
- type CareersOffice = {
643
- id: number | null;
644
- isDefault: boolean | null;
645
- name: string | null;
646
- city: string | null;
647
- countryIso: string | null;
913
+ type OrganizationOrder = Omit<Order, "user"> & {
914
+ customer: OrganizationCustomer;
648
915
  };
649
- type CareersJob = {
650
- id: number;
651
- createdAt: string;
652
- lastUpdatedAt: string;
653
- externalId: null | string;
654
- title: string;
655
- status: "ALL" | "ONLINE" | "ARCHIVED";
656
- remote: boolean;
657
- office: CareersOffice;
658
- workplaceType: "ONSITE" | "REMOTE" | "HYBRID";
659
- remoteType?: "ANYWHERE" | "COUNTRY";
660
- description?: string;
661
- categoryId?: number;
662
- employmentTypeId?: number;
916
+ type OrganizationOrdersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/orders", ArrayResult<OrganizationOrder>, ArrayOptions<OrganizationOrder>> | Endpoint<"GET", "/organizations/@:organizationSlug/orders/:orderId", OrganizationOrder> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/orders", ArrayResult<OrganizationOrder>, ArrayOptions<OrganizationOrder>>;
917
+
918
+ type OrganizationToken = Omit<Base, "updatedAt"> & {
919
+ type: OrganizationTokenType;
920
+ value: string;
921
+ expiresAt: Date;
922
+ organization?: Organization;
923
+ role?: OrganizationMemberRole;
663
924
  };
664
- type CareersCategory = {
925
+ declare enum OrganizationTokenType {
926
+ InvitationLink = "invitation_link"
927
+ }
928
+
929
+ type Organization = Base & {
665
930
  slug: string;
666
- name: string;
667
- subCategories?: (CareersCategory & {
668
- id: number;
669
- })[];
931
+ identity: OrganizationIdentity;
932
+ members: OrganizationMember[];
933
+ location?: Location$1;
934
+ events: OrganizationEvent[];
935
+ savedTickets: OrganizationEventTicket[];
936
+ verified: boolean;
937
+ billing: OrganizationBilling;
670
938
  };
671
- type CareersEmploymentType = {
672
- id: number;
673
- name: string;
674
- slug: string;
939
+ type OrganizationBilling = {
940
+ account: string;
941
+ vatRate: number;
675
942
  };
676
- type CareerEndpoints = Endpoint<"GET", "/careers/categories", CareersCategory[], {
677
- language?: string;
678
- }> | Endpoint<"GET", "/careers/employmentTypes", CareersEmploymentType[], {
679
- language?: string;
680
- }> | Endpoint<"GET", "/careers/jobs", CareersJob[], {
681
- page?: number;
682
- pageSize?: number;
683
- createdAtGte: string;
684
- createdAtLt?: string;
685
- updatedAtGte?: string;
686
- updatedAtLt?: string;
687
- status?: "ALL" | "ONLINE" | "ARCHIVED";
688
- content?: boolean;
689
- titleLike?: string;
690
- countryCode?: string;
691
- externalId?: string;
692
- }> | Endpoint<"GET", "/careers/jobs/:jobId", CareersJob, {
693
- jobId: number;
694
- }> | Endpoint<"GET", "/careers/offices", CareersOffice[], {
695
- page?: number;
696
- pageSize?: number;
697
- countryCode?: string;
698
- cityNameLike?: string;
699
- }>;
700
-
701
- declare enum ChannelMessageReportReason {
702
- Dislike = "dislike",
703
- HarassmentSelf = "harassment_self",
704
- HarassmentOther = "harassment_other",
705
- SexualHarassmentSelf = "sexual_harassment_self",
706
- NudesSelf = "nudes_self",
707
- SexualContent = "sexual_content",
708
- ChildInvolved = "child_involved",
709
- ThreatTarget = "threat_target",
710
- ViolentContent = "violent_content",
711
- HateSpeech = "hate_speech",
712
- Terrorism = "terrorism",
713
- DrugSale = "drug_sale",
714
- WeaponSale = "weapon_sale",
715
- SelfHarmConcern = "self_harm_concern",
716
- SelfHarmPromotion = "self_harm_promotion",
717
- Other = "other"
943
+ type OrganizationBillingAccount = Stripe__default.Account;
944
+ type OrganizationIdentity = OrganizationProfile;
945
+ declare enum OrganizationFileType {
946
+ Avatar = "avatar",
947
+ Banner = "banner"
718
948
  }
719
- type ChannelMessageReadByEntry = {
720
- participant: ChannelParticipant;
721
- readAt: Date;
722
- };
723
- type ChannelMessageReaction = {
724
- emoji: string;
725
- participants: ChannelParticipant[];
726
- };
727
- type ChannelMessage = Base & {
728
- channel: Channel;
729
- sender: ChannelParticipant;
730
- content?: string;
731
- attachments: string[];
732
- isSent: boolean;
733
- isDelivered: boolean;
734
- isRead: boolean;
735
- readBy?: ChannelMessageReadByEntry[];
736
- isEdited: boolean;
737
- editedAt?: Date;
738
- replyTo?: ChannelMessage;
739
- reactions?: ChannelMessageReaction[];
740
- };
741
- type ChannelMessageEndpoints = Endpoint<"GET", "/channels/~me/:channelId/messages", ArrayResult<ChannelMessage>, ArrayOptions<ChannelMessage>> | Endpoint<"GET", "/channels/:organizationSlug/:channelId/messages", ArrayResult<ChannelMessage>, ArrayOptions<ChannelMessage>> | Endpoint<"GET", "/channels/~me/:channelId/messages/:messageId", ChannelMessage> | Endpoint<"GET", "/channels/:organizationSlug/:channelId/messages/:messageId", ChannelMessage> | Endpoint<"POST", "/channels/~me/:channelId/messages", ChannelMessage, CreateChannelMessageDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages", ChannelMessage, CreateChannelMessageDto> | Endpoint<"PUT", "/channels/~me/:channelId/messages/:messageId", ChannelMessage, UpdateChannelMessageDto> | Endpoint<"PUT", "/channels/:organizationSlug/:channelId/messages/:messageId", ChannelMessage, UpdateChannelMessageDto> | Endpoint<"DELETE", "/channels/~me/:channelId/messages/:messageId", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId/messages/:messageId", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/messages/:messageId/reactions", void, AddReactionDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages/:messageId/reactions", void, AddReactionDto> | Endpoint<"DELETE", "/channels/~me/:channelId/messages/:messageId/reactions/:emoji", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId/messages/:messageId/reactions/:emoji", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/messages/:messageId/read", void, undefined> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages/:messageId/read", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/files", string, FormData> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/files", string, FormData> | Endpoint<"POST", "/channels/~me/:channelId/messages/:messageId/report", void, ReportChannelMessageDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/messages/:messageId/report", void, ReportChannelMessageDto>;
949
+ type OrganizationEndpoints = Endpoint<"GET", "/organizations/search", Organization[], {
950
+ q: string;
951
+ limit?: number;
952
+ }> | Endpoint<"GET", "/organizations", ArrayResult<Organization>, ArrayOptions<Organization>> | Endpoint<"GET", "/organizations/@:organizationSlug", Organization> | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto> | Endpoint<"PUT", "/organizations/@:organizationSlug", Organization, UpdateOrganizationDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug", Organization, undefined> | Endpoint<"POST", "/organizations/@:organizationSlug/files/:organizationFileType", string, FormData> | Endpoint<"GET", "/organizations/@:organizationSlug/billing/account", OrganizationBillingAccount> | Endpoint<"GET", "/organizations/@:organizationSlug/billing/link", void> | Endpoint<"GET", "/organizations/@:organizationSlug/billing/dashboard", void> | OrganizationEventEndpoints | OrganizationMembersEndpoints | OrganizationAnalyticsEndpoints | OrganizationCustomersEndpoints | OrganizationOrdersEndpoints;
742
953
 
743
- declare enum ChannelType {
744
- Private = "private",
745
- Group = "group"
746
- }
747
- declare enum ChannelMemberRole {
748
- Member = "member",
749
- Admin = "admin"
750
- }
751
- type ChannelParticipant = Profile;
752
- declare enum ChannelStatus {
753
- Sent = "sent",
754
- Delivered = "delivered",
755
- Read = "read",
756
- Received = "received",
757
- Opened = "opened"
758
- }
759
- type Channel = Base & {
760
- type: ChannelType;
761
- participants: ChannelParticipant[];
762
- name?: string;
763
- lastMessageAt?: Date;
764
- status?: ChannelStatus;
765
- unreadCount?: number;
954
+ declare const ROADMAP_REACTIONS: readonly ["👍", "❤️", "🎉", "👀", "🚀"];
955
+ type RoadmapReaction = (typeof ROADMAP_REACTIONS)[number];
956
+ type RoadmapReactionCounts = {
957
+ [K in RoadmapReaction]?: number;
766
958
  };
767
- type ChannelMember = {
768
- participant: ChannelParticipant;
769
- joinedAt: Date;
770
- role?: ChannelMemberRole;
771
- lastReadAt?: Date;
959
+ declare enum RoadmapFeatureStatus {
960
+ ComingSoon = "coming-soon",
961
+ Shipped = "shipped"
962
+ }
963
+ type RoadmapFeature = {
964
+ id: string;
965
+ title: string;
966
+ description: string;
967
+ status: RoadmapFeatureStatus;
968
+ date?: string;
772
969
  };
773
- type UserChannelCountOptions = {
774
- unseen?: boolean;
970
+ type AddRoadmapReactionBody = {
971
+ featureId: string;
972
+ reaction: RoadmapReaction;
775
973
  };
776
- type ChannelEndpoints = Endpoint<"GET", "/channels/~me", ArrayResult<Channel>, ArrayOptions<Channel>> | Endpoint<"GET", "/channels/:organizationSlug", ArrayResult<Channel>, ArrayOptions<Channel>> | Endpoint<"GET", "/users/~me/channels/count", number, UserChannelCountOptions> | Endpoint<"GET", "/users/@:organizationSlug/channels/count", number, UserChannelCountOptions> | Endpoint<"GET", "/channels/~me/:channelId", Channel> | Endpoint<"GET", "/channels/:organizationSlug/:channelId", Channel> | Endpoint<"POST", "/channels/~me", Channel, CreateChannelDto> | Endpoint<"POST", "/channels/:organizationSlug", Channel, CreateChannelDto> | Endpoint<"PUT", "/channels/~me/:channelId", Channel, UpdateChannelDto> | Endpoint<"PUT", "/channels/:organizationSlug/:channelId", Channel, UpdateChannelDto> | Endpoint<"DELETE", "/channels/~me/:channelId", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId", void, undefined> | Endpoint<"POST", "/channels/~me/:channelId/participants", void, AddParticipantDto> | Endpoint<"POST", "/channels/:organizationSlug/:channelId/participants", void, AddParticipantDto> | Endpoint<"DELETE", "/channels/~me/:channelId/participants/:username", void, undefined> | Endpoint<"DELETE", "/channels/:organizationSlug/:channelId/participants/:username", void, undefined> | Endpoint<"GET", "/channels/~me/:channelId/members", ArrayResult<ChannelMember>, ArrayOptions<ChannelMember>> | Endpoint<"GET", "/channels/:organizationSlug/:channelId/members", ArrayResult<ChannelMember>, ArrayOptions<ChannelMember>>;
974
+ type RoadmapEndpoints = Endpoint<"GET", "/roadmap/reactions/:featureId", RoadmapReactionCounts, {
975
+ featureId: string;
976
+ }> | Endpoint<"POST", "/roadmap/reactions/:featureId", RoadmapReactionCounts, AddRoadmapReactionBody>;
777
977
 
778
- declare enum Currency {
779
- EUR = "EUR",
780
- USD = "USD",
781
- GBP = "GBP",
782
- BGN = "BGN",
783
- CZK = "CZK",
784
- DKK = "DKK",
785
- HUF = "HUF",
786
- PLN = "PLN",
787
- RON = "RON",
788
- SEK = "SEK",
789
- CHF = "CHF",
790
- NOK = "NOK",
791
- ISK = "ISK",
792
- TRY = "TRY",
793
- RUB = "RUB",
794
- UAH = "UAH",
795
- BAM = "BAM",
796
- MKD = "MKD",
797
- ALL = "ALL",
798
- RSD = "RSD",
799
- MDL = "MDL",
800
- GEL = "GEL",
801
- BYN = "BYN"
802
- }
803
- interface ExchangeRates {
804
- base: Currency.EUR;
805
- rates: Record<Currency, number>;
978
+ type WebhookEndpoints = Endpoint<"POST", "/webhooks/stripe", boolean, Stripe__default.Event>;
979
+
980
+ type Base = {
981
+ id: string;
982
+ createdAt: Date;
806
983
  updatedAt: Date;
984
+ };
985
+ type ExcludeBase<T> = Omit<T, keyof Base>;
986
+ type DeepPartial<T> = {
987
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
988
+ };
989
+ declare enum Language {
990
+ FR = "fr",
991
+ EN = "en"
807
992
  }
808
- interface CurrencyConversion {
809
- from: Currency;
810
- to: Currency;
811
- amount: number;
993
+ type ArraySortOptions = {
994
+ /**
995
+ * Field to sort
996
+ */
997
+ field: string;
998
+ /**
999
+ * Order to sort
1000
+ */
1001
+ order: "asc" | "desc";
1002
+ };
1003
+ type ArrayPaginationOptions = {
1004
+ /**
1005
+ * Page number
1006
+ */
1007
+ page?: number;
1008
+ /**
1009
+ * Number of items per page
1010
+ */
1011
+ limit?: number;
1012
+ /**
1013
+ * Offset to start from
1014
+ */
1015
+ offset?: number;
1016
+ };
1017
+ type ArrayFilterOptions = {
1018
+ /**
1019
+ * Field to filter
1020
+ */
1021
+ field: string;
1022
+ /**
1023
+ * Value to filter
1024
+ */
1025
+ value: string;
1026
+ /**
1027
+ * Operator to use
1028
+ */
1029
+ operator: "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "in" | "nin";
1030
+ };
1031
+ type ArrayOptions<_T> = {} & ArrayPaginationOptions;
1032
+ type ArrayResult<T> = {
1033
+ items: T[];
1034
+ total: number;
1035
+ page: number;
1036
+ limit: number;
1037
+ };
1038
+
1039
+ declare class CreateChannelDto {
1040
+ type: ChannelType;
1041
+ participantUsernames: string[];
1042
+ name?: string;
812
1043
  }
813
- interface CurrencyConversionResult {
814
- originalAmount: number;
815
- originalCurrency: Currency;
816
- convertedAmount: number;
817
- targetCurrency: Currency;
818
- exchangeRate: number;
819
- convertedAt: Date;
1044
+
1045
+ declare class AddReactionDto {
1046
+ emoji: string;
820
1047
  }
821
- type CurrenciesEndpoints = Endpoint<"GET", "/currencies/rates", ExchangeRates> | Endpoint<"POST", "/currencies/convert", CurrencyConversionResult, CurrencyConversion>;
822
1048
 
823
- declare enum ErrorType {
824
- AuthEmailAlreadyExists = "auth.email-already-exists",
825
- AuthUsernameAlreadyExists = "auth.username-already-exists",
826
- AuthPhoneNumberAlreadyExists = "auth.phone-number-already-exists",
827
- AuthInvalidCredentials = "auth.invalid-credentials",
828
- AuthUserNotFound = "auth.user-not-found",
829
- AuthInvalidToken = "auth.invalid-token",
830
- AuthTokenExpired = "auth.token-expired",
831
- AuthUnauthorized = "auth.unauthorized",
832
- AuthPasswordMismatch = "auth.password-mismatch",
833
- AuthInvalidOAuth2Provider = "auth.invalid-oauth2-provider",
834
- AuthOAuth2Error = "auth.oauth2-error",
835
- UserNotFound = "user.not-found",
836
- UserInvalidUsername = "user.invalid-username",
837
- UserInvalidEmail = "user.invalid-email",
838
- UserInvalidPhoneNumber = "user.invalid-phone-number",
839
- UserInvalidPassword = "user.invalid-password",
840
- UserInvalidBirthDate = "user.invalid-birth-date",
841
- UserInvalidGender = "user.invalid-gender",
842
- UserInvalidRole = "user.invalid-role",
843
- UserInvalidPreferences = "user.invalid-preferences",
844
- UserInvalidLocation = "user.invalid-location",
845
- UserInvalidFile = "user.invalid-file",
846
- UserFileTooLarge = "user.file-too-large",
847
- UserUnsupportedFileType = "user.unsupported-file-type",
848
- OrganizationNotFound = "organization.not-found",
849
- OrganizationInvalidSlug = "organization.invalid-slug",
850
- OrganizationInvalidName = "organization.invalid-name",
851
- OrganizationInvalidDescription = "organization.invalid-description",
852
- OrganizationInvalidLocation = "organization.invalid-location",
853
- OrganizationInvalidSocialLink = "organization.invalid-social-link",
854
- OrganizationAlreadyExists = "organization.already-exists",
855
- OrganizationUnauthorized = "organization.unauthorized",
856
- OrganizationMemberNotFound = "organization.member-not-found",
857
- OrganizationMemberInvalidRole = "organization.member-invalid-role",
858
- OrganizationMemberAlreadyExists = "organization.member-already-exists",
859
- EventNotFound = "event.not-found",
860
- EventInvalidTitle = "event.invalid-title",
861
- EventInvalidDescription = "event.invalid-description",
862
- EventInvalidLocation = "event.invalid-location",
863
- EventInvalidDates = "event.invalid-dates",
864
- EventInvalidTickets = "event.invalid-tickets",
865
- EventInvalidStyles = "event.invalid-styles",
866
- EventInvalidType = "event.invalid-type",
867
- EventInvalidVisibility = "event.invalid-visibility",
868
- EventUnavailable = "event.unavailable",
869
- EventTicketNotFound = "event.ticket-not-found",
870
- EventTicketUnavailable = "event.ticket-unavailable",
871
- EventTicketInvalidQuantity = "event.ticket-invalid-quantity",
872
- OrderNotFound = "order.not-found",
873
- OrderInvalidStatus = "order.invalid-status",
874
- OrderInvalidPayment = "order.invalid-payment",
875
- OrderPaymentFailed = "order.payment-failed",
876
- OrderAlreadyPaid = "order.already-paid",
877
- OrderCancelled = "order.cancelled",
878
- OrderRefunded = "order.refunded",
879
- OrderExpired = "order.expired",
880
- BookingNotFound = "booking.not-found",
881
- BookingInvalidStatus = "booking.invalid-status",
882
- BookingInvalidTickets = "booking.invalid-tickets",
883
- BookingTicketNotFound = "booking.ticket-not-found",
884
- BookingTicketInvalidToken = "booking.ticket-invalid-token",
885
- BookingTicketExpired = "booking.ticket-expired",
886
- BookingTicketUsed = "booking.ticket-used",
887
- FileNotFound = "file.not-found",
888
- FileInvalidType = "file.invalid-type",
889
- FileTooLarge = "file.too-large",
890
- FileUploadFailed = "file.upload-failed",
891
- ValidationError = "validation.error",
892
- DatabaseError = "database.error",
893
- InternalServerError = "server.internal-error",
894
- NotFound = "not-found",
895
- BadRequest = "bad-request",
896
- Unauthorized = "unauthorized",
897
- Forbidden = "forbidden",
898
- TooManyRequests = "too-many-requests",
899
- ServiceUnavailable = "service-unavailable",
900
- TooManyRequestsAuth = "rate-limit.auth",
901
- TooManyRequestsApi = "rate-limit.api",
902
- WebhookInvalidSignature = "webhook.invalid-signature",
903
- WebhookInvalidEvent = "webhook.invalid-event",
904
- WebhookProcessingFailed = "webhook.processing-failed",
905
- PaymentRequired = "payment.required",
906
- PaymentMethodRequired = "payment.method-required",
907
- PaymentFailed = "payment.failed",
908
- PaymentCancelled = "payment.cancelled",
909
- PaymentRefunded = "payment.refunded",
910
- BillingInvalidAccount = "billing.invalid-account",
911
- BillingAccountRequired = "billing.account-required",
912
- NotificationInvalidType = "notification.invalid-type",
913
- NotificationSendingFailed = "notification.sending-failed",
914
- CacheError = "cache.error",
915
- CacheMiss = "cache.miss",
916
- ExternalServiceError = "external-service.error",
917
- ExternalServiceTimeout = "external-service.timeout",
918
- ExternalServiceUnavailable = "external-service.unavailable"
1049
+ declare class ContentOrAttachmentsConstraint implements ValidatorConstraintInterface {
1050
+ validate(_value: unknown, args: ValidationArguments): boolean;
1051
+ defaultMessage(_args: ValidationArguments): string;
1052
+ }
1053
+ declare class CreateChannelMessageDto {
1054
+ content?: string;
1055
+ attachments?: string[];
1056
+ replyToId?: string;
919
1057
  }
920
1058
 
921
- declare enum FeedType {
922
- Following = "following",
923
- Discover = "discover"
1059
+ declare class ReportChannelMessageDto {
1060
+ reason: ChannelMessageReportReason;
1061
+ description?: string;
924
1062
  }
925
- type FeedPost = UserPost | OrganizationEvent[];
926
- type FeedEndpoints = Endpoint<"GET", "/feed/following", ArrayResult<FeedPost>, ArrayOptions<FeedPost>> | Endpoint<"GET", "/feed/discover", ArrayResult<FeedPost>, ArrayOptions<FeedPost>>;
927
1063
 
928
- interface Health<T extends string = string> extends HealthCheckResult {
929
- info?: Record<T, HealthIndicatorResult[T]>;
930
- error?: Record<T, HealthIndicatorResult[T]>;
931
- details: Record<T, HealthIndicatorResult[T]>;
1064
+ declare class UpdateChannelMessageDto {
1065
+ content?: string;
932
1066
  }
933
- type HealthEndpoints = Endpoint<"GET", "/health", Health<"database" | "app" | "api" | "database">> | Endpoint<"GET", "/health/database", Health<"database">> | Endpoint<"GET", "/health/api", Health<"api">> | Endpoint<"GET", "/health/app", Health<"app">>;
934
1067
 
935
- /**
936
- * Represents a GeoJSON point with specific geographic coordinates.
937
- *
938
- * @see https://geojson.org/geojson-spec.html#point
939
- *
940
- * @property {"Point"} type - The type of the geometry, which is always "Point" for a GeoJSON point.
941
- * @property {[number, number]} coordinates - The coordinates of the point, represented as [longitude, latitude].
942
- */
943
- type GeoPoint = {
1068
+ declare class UpdateChannelDto {
1069
+ name?: string;
1070
+ }
1071
+
1072
+ declare class GeoPointDto implements GeoPoint {
944
1073
  type: "Point";
945
1074
  coordinates: [number, number];
946
- };
947
- type Location$1 = {
1075
+ constructor();
1076
+ }
1077
+ declare class CreateLocationDto implements Location$1 {
948
1078
  name?: string;
949
1079
  address: string;
950
1080
  zipCode: string;
951
1081
  city: string;
952
1082
  country: string;
953
- geometry: GeoPoint;
954
- };
955
- interface GeoSearchAggregation<T> {
956
- metadata: {
957
- total: number;
958
- }[];
959
- data: T[];
1083
+ geometry: GeoPointDto;
960
1084
  }
961
- type Distance<T> = T & {
962
- distance: number;
963
- };
964
1085
 
965
- type OrganizationEventOrderEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/orders", Order, CreateOrganizationEventOrderDto>;
1086
+ declare class UpdateLocationDto implements Partial<Location$1> {
1087
+ name?: string;
1088
+ address?: string;
1089
+ zipCode?: string;
1090
+ city?: string;
1091
+ country?: string;
1092
+ geometry?: GeoPointDto;
1093
+ }
966
1094
 
967
- type OrganizationEventStyle = Base & {
968
- type: OrganizationEventStyleType;
969
- emoji: string;
970
- name: string;
971
- slug: string;
972
- };
973
- declare enum OrganizationEventStyleType {
974
- Music = "music",
975
- Dress = "dress",
976
- Sport = "sport",
977
- Food = "food",
978
- Art = "art"
1095
+ declare class CreateOrganizationMemberDto {
1096
+ user: string;
1097
+ role: OrganizationMemberRole;
979
1098
  }
980
- type OrganizationEventStyleEndpoints = Endpoint<"GET", "/organizations/events/styles", OrganizationEventStyle[]> | Endpoint<"GET", "/organizations/events/styles/:styleSlug", OrganizationEventStyle> | Endpoint<"POST", "/organizations/events/styles", OrganizationEventStyle, CreateOrganizationEventStyleDto> | Endpoint<"PUT", "/organizations/events/styles/:styleSlug", OrganizationEventStyle, UpdateOrganizationEventStyleDto> | Endpoint<"DELETE", "/organizations/events/styles/:styleSlug", OrganizationEventStyle[], null>;
981
1099
 
982
- type OrganizationEventViewEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/views", boolean, null>;
1100
+ declare class CreateOrganizationDto {
1101
+ organizationSlug?: string;
1102
+ identity: CreateOrganizationIdentityDto;
1103
+ members: CreateOrganizationMemberDto[];
1104
+ location?: Location$1;
1105
+ }
1106
+ declare class CreateOrganizationIdentityDto {
1107
+ displayName: string;
1108
+ description?: string;
1109
+ avatarUrl?: string;
1110
+ bannerUrl?: string;
1111
+ links?: string[];
1112
+ }
983
1113
 
984
- type OrganizationEventTicket = Base & {
1114
+ type CreateOrganizationEventTicketInput = Omit<ExcludeBase<OrganizationEventTicket>, "price" | "product" | "event" | "fee"> & {
1115
+ price: number;
1116
+ };
1117
+ declare class CreateOrganizationEventTicketDto implements CreateOrganizationEventTicketInput {
985
1118
  name: string;
986
1119
  description?: string;
987
- price: Stripe__default.Price;
988
- product: Stripe__default.Product;
989
- fee: number;
1120
+ price: number;
990
1121
  quantity: number;
991
1122
  type: OrganizationEventTicketType;
992
1123
  category: OrganizationEventTicketCategory;
993
- externalId?: string;
1124
+ currency: Currency;
994
1125
  isVisible: boolean;
995
1126
  isFeesIncluded: boolean;
996
1127
  startAt?: Date;
997
1128
  endAt?: Date;
998
- event: OrganizationEvent;
999
- };
1000
- declare enum OrganizationEventTicketType {
1001
- ETicket = "e-ticket",
1002
- Other = "other"
1003
1129
  }
1004
- declare enum OrganizationEventTicketCategory {
1005
- Entry = "entry",
1006
- Package = "package",
1007
- Meal = "meal",
1008
- Drink = "drink",
1009
- Parking = "parking",
1010
- Accommodation = "accommodation",
1011
- Camping = "camping",
1012
- Locker = "locker",
1013
- Shuttle = "shuttle",
1014
- Other = "other"
1130
+
1131
+ declare class UpdateOrganizationEventTicketDto implements DeepPartial<CreateOrganizationEventTicketInput> {
1132
+ name?: string;
1133
+ description?: string;
1134
+ price?: number;
1135
+ quantity?: number;
1136
+ type?: OrganizationEventTicketType;
1137
+ category?: OrganizationEventTicketCategory;
1138
+ currency?: Currency;
1139
+ isVisible?: boolean;
1140
+ isFeesIncluded?: boolean;
1141
+ startAt?: Date;
1142
+ endAt?: Date;
1015
1143
  }
1016
- type OrganizationEventTicketEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/tickets", OrganizationEventTicket[]> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket> | Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/tickets", OrganizationEventTicket, CreateOrganizationEventTicketDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket, UpdateOrganizationEventTicketDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket[], null>;
1017
1144
 
1018
- type OrganizationEvent = Base & {
1145
+ declare class AtLeastOneMediaConstraint implements ValidatorConstraintInterface {
1146
+ validate(_value: unknown, args: ValidationArguments): boolean;
1147
+ defaultMessage(): string;
1148
+ }
1149
+ declare function AtLeastOneMedia(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
1150
+ type CreateOrganizationEventInput = Omit<ExcludeBase<OrganizationEvent>, "slug" | "styles" | "tickets" | "organization" | "status" | "viewsCount" | "sessionsCount" | "totalViewsCount" | "averageViewsPerSessionCount"> & {
1151
+ slug?: string;
1152
+ styles: string[];
1153
+ tickets: CreateOrganizationEventTicketInput[];
1154
+ };
1155
+ declare class BaseOrganizationEventDto {
1019
1156
  title: string;
1157
+ slug?: string;
1020
1158
  description: string;
1021
- slug: string;
1022
- organization: OrganizationProfile;
1023
1159
  type: OrganizationEventType;
1024
1160
  visibility: OrganizationEventVisibilityType;
1025
1161
  flyers: string[];
1026
1162
  trailers: string[];
1027
- location: Location$1;
1028
- tickets: OrganizationEventTicket[];
1029
- styles: OrganizationEventStyle[];
1030
- status: OrganizationEventStatus;
1031
- viewsCount: number;
1032
- sessionsCount: number;
1033
- totalViewsCount: number;
1034
- averageViewsPerSessionCount: number;
1163
+ location: CreateLocationDto;
1164
+ styles: string[];
1035
1165
  startAt: Date;
1036
1166
  endAt: Date;
1037
- };
1038
- declare enum OrganizationEventType {
1039
- Clubbing = "clubbing",
1040
- Concert = "concert",
1041
- Festival = "festival",
1042
- HouseParty = "house_party",
1043
- FriendsParty = "friends_party",
1044
- Afterwork = "afterwork",
1045
- DancingLunch = "dancing_lunch",
1046
- Diner = "diner",
1047
- Garden = "garden",
1048
- AfterBeach = "after_beach",
1049
- Spectacle = "spectacle",
1050
- Cruise = "cruise",
1051
- OutsideAnimation = "outside_animation",
1052
- Sport = "sport",
1053
- Match = "match",
1054
- Seminar = "seminar",
1055
- Conference = "conference",
1056
- WellnessDay = "wellness_day",
1057
- Workshop = "workshop",
1058
- TradeFair = "trade_fair",
1059
- ConsumerShow = "consumer_show",
1060
- Membership = "membership"
1061
1167
  }
1062
- declare enum OrganizationEventVisibilityType {
1063
- Public = "public",
1064
- Unlisted = "unlisted",
1065
- Private = "private"
1168
+ declare class CreateOrganizationEventDto extends BaseOrganizationEventDto implements CreateOrganizationEventInput {
1169
+ tickets: CreateOrganizationEventTicketDto[];
1066
1170
  }
1067
- declare enum OrganizationEventFileType {
1068
- Flyer = "flyer",
1069
- Trailer = "trailer"
1171
+
1172
+ declare class CreateOrganizationEventOrderDto {
1173
+ cart: string[];
1070
1174
  }
1071
- declare enum OrganizationEventStatus {
1072
- Upcoming = "upcoming",
1073
- Ongoing = "ongoing",
1074
- Ended = "ended"
1175
+
1176
+ declare class AtLeastOneMediaOnUpdateConstraint implements ValidatorConstraintInterface {
1177
+ validate(_value: unknown, args: ValidationArguments): boolean;
1178
+ defaultMessage(): string;
1179
+ }
1180
+ declare function AtLeastOneMediaOnUpdate(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
1181
+ declare class UpdateOrganizationEventDto implements DeepPartial<CreateOrganizationEventInput> {
1182
+ title?: string;
1183
+ slug?: string;
1184
+ description?: string;
1185
+ type?: OrganizationEventType;
1186
+ visibility?: OrganizationEventVisibilityType;
1187
+ flyers?: string[];
1188
+ trailers?: string[];
1189
+ location?: UpdateLocationDto;
1190
+ tickets?: UpdateOrganizationEventTicketDto[];
1191
+ styles?: string[];
1192
+ startAt?: Date;
1193
+ endAt?: Date;
1075
1194
  }
1076
- type OrganizationEventArrayOptions = ArrayOptions<OrganizationEvent> & {
1077
- status?: OrganizationEventStatus | OrganizationEventStatus[];
1078
- types?: OrganizationEventType | OrganizationEventType[];
1079
- styles?: string | string[];
1080
- };
1081
- type SearchOrganizationEventsOptions = ArrayOptions<OrganizationEvent> & {
1082
- q: string;
1083
- };
1084
- type OrganizationEventCalendar = {
1085
- [date: string]: OrganizationEvent[];
1086
- };
1087
- type OrganizationEventEndpoints = Endpoint<"GET", "/organizations/events/search", ArrayResult<OrganizationEvent>, SearchOrganizationEventsOptions> | Endpoint<"GET", "/organizations/events/calendar/:year/:month", OrganizationEventCalendar> | Endpoint<"GET", "/organizations/events", ArrayResult<OrganizationEvent>, OrganizationEventArrayOptions> | Endpoint<"GET", "/organizations/events/suggestions", ArrayResult<OrganizationEvent>, ArrayOptions<OrganizationEvent>> | Endpoint<"GET", "/organizations/events/nearby", ArrayResult<OrganizationEvent>, ArrayOptions<OrganizationEvent> & {
1088
- latitude: number;
1089
- longitude: number;
1090
- radius?: number;
1091
- }> | Endpoint<"GET", "/organizations/@:organizationSlug/events", ArrayResult<OrganizationEvent>, OrganizationEventArrayOptions> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug", OrganizationEvent> | Endpoint<"POST", "/organizations/@:organizationSlug/events", OrganizationEvent, CreateOrganizationEventDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/events/:eventSlug", OrganizationEvent, UpdateOrganizationEventDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/events/:eventSlug", OrganizationEvent, null> | Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/files/:eventFileType", string, FormData> | Endpoint<"POST", "/events/files/:eventFileType", string, FormData> | OrganizationEventOrderEndpoints | OrganizationEventStyleEndpoints | OrganizationEventTicketEndpoints | OrganizationEventViewEndpoints;
1092
1195
 
1093
- type OrganizationAnalyticsOverview = {
1094
- metrics: {
1095
- totalRevenue: {
1096
- current: number;
1097
- previous: number;
1098
- percentageChange: number;
1099
- };
1100
- totalOrders: {
1101
- current: number;
1102
- previous: number;
1103
- percentageChange: number;
1104
- };
1105
- totalTicketsSold: {
1106
- current: number;
1107
- previous: number;
1108
- percentageChange: number;
1109
- };
1110
- activeEvents: number;
1111
- };
1112
- chartData: {
1113
- date: string;
1114
- revenues: number;
1115
- orders: number;
1116
- ticketsSold: number;
1117
- events: number;
1118
- }[];
1119
- };
1120
- type OrganizationEventAnalytics = {
1121
- event: OrganizationEvent;
1122
- metrics: {
1123
- totalViews: number;
1124
- uniqueViews: number;
1125
- sessionsCount: number;
1126
- totalRevenue: number;
1127
- totalOrders: number;
1128
- totalTicketsSold: number;
1129
- };
1130
- };
1131
- type AnalyticsOptions = {
1132
- period?: "7d" | "30d" | "90d" | "12m";
1133
- startDate?: string;
1134
- endDate?: string;
1135
- };
1136
- type EventAnalyticsOptions = AnalyticsOptions & {
1137
- status?: "upcoming" | "past" | "all";
1138
- };
1139
- type OrganizationAnalyticsEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/analytics/overview", OrganizationAnalyticsOverview, AnalyticsOptions> | Endpoint<"GET", "/organizations/@:organizationSlug/analytics/events", ArrayResult<OrganizationEventAnalytics>, ArrayOptions<OrganizationEventAnalytics> & EventAnalyticsOptions>;
1196
+ declare class AcceptOrganizationMemberInvitationDto {
1197
+ token: string;
1198
+ }
1199
+
1200
+ declare class CreateOrganizationMemberInvitationLinkDto {
1201
+ role?: OrganizationMemberRole;
1202
+ }
1203
+
1204
+ declare class UpdateOrganizationMemberDto {
1205
+ role: OrganizationMemberRole;
1206
+ }
1140
1207
 
1141
- type OrganizationCustomer = UserProfile & {
1208
+ declare class UpdateOrganizationDto {
1209
+ slug?: string;
1210
+ identity?: UpdateOrganizationIdentityDto;
1211
+ members?: UpdateOrganizationMemberDto[];
1212
+ location?: Location;
1213
+ }
1214
+ declare class UpdateOrganizationIdentityDto {
1215
+ displayName?: string;
1216
+ description?: string;
1217
+ avatarUrl?: string;
1218
+ bannerUrl?: string;
1219
+ links?: string[];
1220
+ }
1221
+
1222
+ declare class CreateUserDto {
1223
+ identifier: CreateUserIdentifierDto;
1224
+ identity: CreateUserIdentityDto;
1225
+ password: string;
1226
+ }
1227
+ declare class CreateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
1142
1228
  email?: string;
1143
1229
  phoneNumber?: string;
1230
+ username: string;
1231
+ }
1232
+ declare class CreateUserIdentityDto {
1144
1233
  firstName: string;
1145
1234
  lastName: string;
1146
- fullName: string;
1235
+ gender: UserIdentityGender;
1236
+ avatarUrl?: string;
1147
1237
  birthDate: Date;
1148
- metadata: OrganizationCustomerMetadata;
1149
- };
1150
- type OrganizationCustomerMetadata = UserProfileMetadata & {
1151
- bookingsCount: number;
1152
- eventsAttendedCount: number;
1153
- totalSpent: number;
1154
- lastBookingAt?: Date;
1155
- };
1156
- type OrganizationCustomersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/customers", ArrayResult<OrganizationCustomer>, ArrayOptions<OrganizationCustomer>> | Endpoint<"GET", "/organizations/@:organizationSlug/customers/:username", OrganizationCustomer>;
1238
+ links?: string[];
1239
+ }
1157
1240
 
1158
- type OrganizationToken = Omit<Base, "updatedAt"> & {
1159
- type: OrganizationTokenType;
1160
- value: string;
1161
- expiresAt: Date;
1162
- organization?: Organization;
1163
- role?: OrganizationMemberRole;
1164
- };
1165
- declare enum OrganizationTokenType {
1166
- InvitationLink = "invitation_link"
1241
+ declare class GoogleOneTapDto {
1242
+ credential: string;
1243
+ }
1244
+
1245
+ declare class RecoveryDto {
1246
+ identifier: string;
1247
+ }
1248
+
1249
+ declare class RecoveryResetDto {
1250
+ tokenId: string;
1251
+ tokenValue: string;
1252
+ password: string;
1253
+ }
1254
+
1255
+ declare class SignInUserDto {
1256
+ identifier: string;
1257
+ password: string;
1258
+ }
1259
+
1260
+ declare class UpdateUserDto {
1261
+ identifier?: UpdateUserIdentifierDto;
1262
+ identity?: UpdateUserIdentityDto;
1263
+ password?: string;
1264
+ }
1265
+ declare class UpdateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
1266
+ email?: string;
1267
+ phoneNumber?: string;
1268
+ username?: string;
1269
+ }
1270
+ declare class UpdateUserIdentityDto implements Partial<Pick<UserIdentity, "firstName" | "lastName" | "displayName" | "description" | "avatarUrl" | "bannerUrl" | "gender" | "birthDate">> {
1271
+ firstName?: string;
1272
+ lastName?: string;
1273
+ displayName?: string;
1274
+ description?: string;
1275
+ avatarUrl?: string | undefined;
1276
+ bannerUrl?: string | undefined;
1277
+ gender?: UserIdentityGender;
1278
+ birthDate?: Date;
1279
+ links?: string[];
1167
1280
  }
1168
1281
 
1169
1282
  type OrganizationMember = Base & {
@@ -1186,132 +1299,37 @@ declare enum OrganizationMemberRole {
1186
1299
  }
1187
1300
  type OrganizationMembersEndpoints = Endpoint<"GET", "/organizations/members/~me", ArrayResult<OrganizationMember>, ArrayOptions<OrganizationMember>> | Endpoint<"GET", "/organizations/@:organizationSlug/members", ArrayResult<OrganizationMember>, ArrayOptions<OrganizationMember>> | Endpoint<"POST", "/organizations/@:organizationSlug/members", OrganizationMember, CreateOrganizationMemberDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/members/:username", OrganizationMember, UpdateOrganizationMemberDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/members/:username", OrganizationMember[], undefined> | Endpoint<"GET", "/organizations/@:organizationSlug/members/invitations/links", ArrayResult<OrganizationToken>, ArrayOptions<OrganizationToken>> | Endpoint<"POST", "/organizations/@:organizationSlug/members/invitations/links", OrganizationToken, CreateOrganizationMemberInvitationLinkDto> | Endpoint<"POST", "/organizations/@:organizationSlug/members/invitations/accept", OrganizationMember, AcceptOrganizationMemberInvitationDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/members/~me/accept", OrganizationMember, undefined> | Endpoint<"DELETE", "/organizations/@:organizationSlug/members/~me/reject", null, undefined> | Endpoint<"DELETE", "/organizations/@:organizationSlug/members/~me", null, undefined>;
1188
1301
 
1189
- type OrganizationOrder = Omit<Order, "user"> & {
1190
- customer: OrganizationCustomer;
1191
- };
1192
- type OrganizationOrdersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/orders", ArrayResult<OrganizationOrder>, ArrayOptions<OrganizationOrder>> | Endpoint<"GET", "/organizations/@:organizationSlug/orders/:orderId", OrganizationOrder> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/orders", ArrayResult<OrganizationOrder>, ArrayOptions<OrganizationOrder>>;
1193
-
1194
- type Organization = Base & {
1195
- slug: string;
1196
- identity: OrganizationIdentity;
1197
- members: OrganizationMember[];
1198
- location?: Location$1;
1199
- events: OrganizationEvent[];
1200
- savedTickets: OrganizationEventTicket[];
1201
- verified: boolean;
1202
- billing: OrganizationBilling;
1203
- };
1204
- type OrganizationBilling = {
1205
- account: string;
1206
- vatRate: number;
1207
- };
1208
- type OrganizationBillingAccount = Stripe__default.Account;
1209
- type OrganizationIdentity = OrganizationProfile;
1210
- declare enum OrganizationFileType {
1211
- Avatar = "avatar",
1212
- Banner = "banner"
1213
- }
1214
- type OrganizationEndpoints = Endpoint<"GET", "/organizations/search", Organization[], {
1215
- q: string;
1216
- limit?: number;
1217
- }> | Endpoint<"GET", "/organizations", ArrayResult<Organization>, ArrayOptions<Organization>> | Endpoint<"GET", "/organizations/@:organizationSlug", Organization> | Endpoint<"POST", "/organizations", Organization, CreateOrganizationDto> | Endpoint<"PUT", "/organizations/@:organizationSlug", Organization, UpdateOrganizationDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug", Organization, undefined> | Endpoint<"POST", "/organizations/@:organizationSlug/files/:organizationFileType", string, FormData> | Endpoint<"GET", "/organizations/@:organizationSlug/billing/account", OrganizationBillingAccount> | Endpoint<"GET", "/organizations/@:organizationSlug/billing/link", void> | Endpoint<"GET", "/organizations/@:organizationSlug/billing/dashboard", void> | OrganizationEventEndpoints | OrganizationMembersEndpoints | OrganizationAnalyticsEndpoints | OrganizationCustomersEndpoints | OrganizationOrdersEndpoints;
1218
-
1219
- declare const ROADMAP_REACTIONS: readonly ["👍", "❤️", "🎉", "👀", "🚀"];
1220
- type RoadmapReaction = (typeof ROADMAP_REACTIONS)[number];
1221
- type RoadmapReactionCounts = {
1222
- [K in RoadmapReaction]?: number;
1223
- };
1224
- declare enum RoadmapFeatureStatus {
1225
- ComingSoon = "coming-soon",
1226
- Shipped = "shipped"
1227
- }
1228
- type RoadmapFeature = {
1229
- id: string;
1230
- title: string;
1231
- description: string;
1232
- status: RoadmapFeatureStatus;
1233
- date?: string;
1302
+ declare const OrganizationMemberRolePower: {
1303
+ [key in OrganizationMemberRole]: number;
1234
1304
  };
1235
- type AddRoadmapReactionBody = {
1236
- featureId: string;
1237
- reaction: RoadmapReaction;
1305
+ declare const UserRolePower: {
1306
+ [key in UserRole]: number;
1238
1307
  };
1239
- type RoadmapEndpoints = Endpoint<"GET", "/roadmap/reactions/:featureId", RoadmapReactionCounts, {
1240
- featureId: string;
1241
- }> | Endpoint<"POST", "/roadmap/reactions/:featureId", RoadmapReactionCounts, AddRoadmapReactionBody>;
1242
-
1243
- type WebhookEndpoints = Endpoint<"POST", "/webhooks/stripe", boolean, Stripe__default.Event>;
1244
-
1245
- type NotificationEndpoints = Endpoint<"POST", "/notifications/subscribe/beta", null, {
1246
- email: string;
1247
- }>;
1248
1308
 
1249
- type Base = {
1250
- id: string;
1251
- createdAt: Date;
1252
- updatedAt: Date;
1309
+ type CacheEntry<T> = {
1310
+ data: T;
1311
+ timestamp: number;
1253
1312
  };
1254
- type ExcludeBase<T> = Omit<T, keyof Base>;
1255
- type DeepPartial<T> = {
1256
- [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
1313
+ type CacheOptions = {
1314
+ enabled: boolean;
1315
+ ttl?: number;
1316
+ methods?: Options["method"][];
1257
1317
  };
1258
- declare enum Language {
1259
- FR = "fr",
1260
- EN = "en"
1318
+ declare class CacheManager {
1319
+ private readonly cache;
1320
+ private readonly options;
1321
+ constructor(options: CacheOptions);
1322
+ private generateKey;
1323
+ private shouldCache;
1324
+ private isValid;
1325
+ get<T>(method: Options["method"], url: string): T | null;
1326
+ set<T>(method: Options["method"], url: string, data: T): void;
1327
+ clear(): void;
1328
+ stats(): {
1329
+ size: number;
1330
+ keys: string[];
1331
+ };
1261
1332
  }
1262
- type ArraySortOptions = {
1263
- /**
1264
- * Field to sort
1265
- */
1266
- field: string;
1267
- /**
1268
- * Order to sort
1269
- */
1270
- order: "asc" | "desc";
1271
- };
1272
- type ArrayPaginationOptions = {
1273
- /**
1274
- * Page number
1275
- */
1276
- page?: number;
1277
- /**
1278
- * Number of items per page
1279
- */
1280
- limit?: number;
1281
- /**
1282
- * Offset to start from
1283
- */
1284
- offset?: number;
1285
- };
1286
- type ArrayFilterOptions = {
1287
- /**
1288
- * Field to filter
1289
- */
1290
- field: string;
1291
- /**
1292
- * Value to filter
1293
- */
1294
- value: string;
1295
- /**
1296
- * Operator to use
1297
- */
1298
- operator: "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "in" | "nin";
1299
- };
1300
- type ArrayOptions<T> = {} & ArrayPaginationOptions;
1301
- type ArrayResult<T> = {
1302
- items: T[];
1303
- total: number;
1304
- page: number;
1305
- limit: number;
1306
- };
1307
-
1308
- type Endpoint<M extends Options["method"], Path extends string, Res, Body = undefined> = {
1309
- method: M;
1310
- path: Path;
1311
- res: Res;
1312
- body: Body;
1313
- };
1314
- type Endpoints = ApiKeyEndpoints | AuthEndpoints | CareerEndpoints | ChannelEndpoints | ChannelMessageEndpoints | CurrenciesEndpoints | FeedEndpoints | HealthEndpoints | OrderEndpoints | OrganizationEndpoints | ProfileEndpoints | RoadmapEndpoints | UserEndpoints | WebhookEndpoints | NotificationEndpoints;
1315
1333
 
1316
1334
  interface APIRequestOptions extends Options {
1317
1335
  apiKey?: string;
@@ -1366,12 +1384,12 @@ declare class TonightPassAPIError<T> extends Error {
1366
1384
  readonly status: number;
1367
1385
  constructor(response: Response$1<APIResponse<T>>, data: ErroredAPIResponse);
1368
1386
  }
1369
- interface ClientOptions {
1387
+ type ClientOptions = {
1370
1388
  readonly baseURL: string;
1371
1389
  readonly apiKey?: string;
1372
1390
  readonly accessToken?: string;
1373
1391
  readonly cache?: CacheOptions;
1374
- }
1392
+ };
1375
1393
  declare class Client {
1376
1394
  private options;
1377
1395
  private apiKey?;
@@ -1394,13 +1412,6 @@ declare class Client {
1394
1412
  private requester;
1395
1413
  }
1396
1414
 
1397
- declare const OrganizationMemberRolePower: {
1398
- [key in OrganizationMemberRole]: number;
1399
- };
1400
- declare const UserRolePower: {
1401
- [key in UserRole]: number;
1402
- };
1403
-
1404
1415
  declare const apiKeys: (client: Client) => {
1405
1416
  getAll: () => Promise<ArrayResult<ApiKey>>;
1406
1417
  get: (apiKeyId: string) => Promise<ApiKey>;
@@ -1423,6 +1434,8 @@ declare const auth: (client: Client) => {
1423
1434
  };
1424
1435
  };
1425
1436
 
1437
+ declare function sdk<T>(builder: (client: Client) => T): (client: Client) => T;
1438
+
1426
1439
  declare const careers: (client: Client) => {
1427
1440
  categories: {
1428
1441
  getAll: (query?: Query<"/careers/categories">) => Promise<CareersCategory[]>;
@@ -1488,8 +1501,6 @@ declare const currencies: (client: Client) => {
1488
1501
  convertAmount: (from: Currency, to: Currency, amount: number) => Promise<CurrencyConversionResult>;
1489
1502
  };
1490
1503
 
1491
- declare function sdk<T>(builder: (client: Client) => T): (client: Client) => T;
1492
-
1493
1504
  declare const feed: (client: Client) => {
1494
1505
  getFollowing: (options?: ArrayOptions<FeedPost>) => Promise<ArrayResult<FeedPost>>;
1495
1506
  getDiscover: (options?: ArrayOptions<FeedPost>) => Promise<ArrayResult<FeedPost>>;
@@ -1502,6 +1513,10 @@ declare const health: (client: Client) => {
1502
1513
  app: () => Promise<Health<"app">>;
1503
1514
  };
1504
1515
 
1516
+ declare const notifications: (client: Client) => {
1517
+ registerToBeta: (email: string) => Promise<null>;
1518
+ };
1519
+
1505
1520
  declare const orders: (client: Client) => {
1506
1521
  getAll: (options?: ArrayOptions<Order>) => Promise<ArrayResult<Order>>;
1507
1522
  get: (orderId: string) => Promise<Order>;
@@ -1679,10 +1694,6 @@ declare const users: (client: Client) => {
1679
1694
  };
1680
1695
  };
1681
1696
 
1682
- declare const notifications: (client: Client) => {
1683
- registerToBeta: (email: string) => Promise<null>;
1684
- };
1685
-
1686
1697
  declare class TonightPass {
1687
1698
  readonly client: Client;
1688
1699
  readonly apiKeys: {
@@ -1978,21 +1989,21 @@ interface TypingStopEvent extends WebSocketEvent<{
1978
1989
  }
1979
1990
  type ChannelWebSocketEvent = ChannelMessageCreateEvent | ChannelMessageUpdateEvent | ChannelMessageDeleteEvent | ChannelUpdateEvent | ChannelDeleteEvent | ChannelMemberJoinEvent | ChannelMemberLeaveEvent | TypingStartEvent | TypingStopEvent;
1980
1991
 
1981
- interface WebSocketEvent<T = unknown> {
1992
+ type WebSocketEvent<T = unknown> = {
1982
1993
  type: string;
1983
1994
  data: T;
1984
- }
1985
- interface WebSocketConnectOptions {
1995
+ };
1996
+ type WebSocketConnectOptions = {
1986
1997
  token?: string;
1987
1998
  channelId?: string;
1988
1999
  organizationSlug?: string;
1989
- }
1990
- interface WebSocketClientOptions {
2000
+ };
2001
+ type WebSocketClientOptions = {
1991
2002
  baseURL: string;
1992
2003
  reconnectInterval?: number;
1993
2004
  maxReconnectAttempts?: number;
1994
2005
  debug?: boolean;
1995
- }
2006
+ };
1996
2007
 
1997
2008
  type GETEndpoints = Extract<Endpoints, {
1998
2009
  method: "GET";
@@ -2022,10 +2033,10 @@ type WebSocketOptionsFor<P extends WebSocketPaths> = Extract<WebSocketEndpoints,
2022
2033
  type WebSocketEventHandler<T> = (event: T) => void;
2023
2034
  declare class WebSocketClient {
2024
2035
  private ws?;
2025
- private options;
2036
+ private readonly options;
2026
2037
  private reconnectAttempts;
2027
2038
  private reconnectTimer?;
2028
- private eventHandlers;
2039
+ private readonly eventHandlers;
2029
2040
  private isConnected;
2030
2041
  private isReconnecting;
2031
2042
  constructor(options?: Partial<WebSocketClientOptions>);