tonightpass 0.0.234 → 0.0.236

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,1238 @@ 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;
859
+ };
860
+ totalTicketsSold: {
861
+ current: number;
862
+ previous: number;
863
+ percentageChange: number;
581
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<"GET", "/roadmap/reactions/stream/:featureId", void, {
977
+ featureId: string;
978
+ }> | Endpoint<"POST", "/roadmap/reactions/:featureId", RoadmapReactionCounts, AddRoadmapReactionBody>;
777
979
 
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>;
980
+ type WebhookEndpoints = Endpoint<"POST", "/webhooks/stripe", boolean, Stripe__default.Event>;
981
+
982
+ type Base = {
983
+ id: string;
984
+ createdAt: Date;
806
985
  updatedAt: Date;
986
+ };
987
+ type ExcludeBase<T> = Omit<T, keyof Base>;
988
+ type DeepPartial<T> = {
989
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
990
+ };
991
+ declare enum Language {
992
+ FR = "fr",
993
+ EN = "en"
807
994
  }
808
- interface CurrencyConversion {
809
- from: Currency;
810
- to: Currency;
811
- amount: number;
995
+ type ArraySortOptions = {
996
+ /**
997
+ * Field to sort
998
+ */
999
+ field: string;
1000
+ /**
1001
+ * Order to sort
1002
+ */
1003
+ order: "asc" | "desc";
1004
+ };
1005
+ type ArrayPaginationOptions = {
1006
+ /**
1007
+ * Page number
1008
+ */
1009
+ page?: number;
1010
+ /**
1011
+ * Number of items per page
1012
+ */
1013
+ limit?: number;
1014
+ /**
1015
+ * Offset to start from
1016
+ */
1017
+ offset?: number;
1018
+ };
1019
+ type ArrayFilterOptions = {
1020
+ /**
1021
+ * Field to filter
1022
+ */
1023
+ field: string;
1024
+ /**
1025
+ * Value to filter
1026
+ */
1027
+ value: string;
1028
+ /**
1029
+ * Operator to use
1030
+ */
1031
+ operator: "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "in" | "nin";
1032
+ };
1033
+ type ArrayOptions<_T> = {} & ArrayPaginationOptions;
1034
+ type ArrayResult<T> = {
1035
+ items: T[];
1036
+ total: number;
1037
+ page: number;
1038
+ limit: number;
1039
+ };
1040
+
1041
+ declare class CreateChannelDto {
1042
+ type: ChannelType;
1043
+ participantUsernames: string[];
1044
+ name?: string;
812
1045
  }
813
- interface CurrencyConversionResult {
814
- originalAmount: number;
815
- originalCurrency: Currency;
816
- convertedAmount: number;
817
- targetCurrency: Currency;
818
- exchangeRate: number;
819
- convertedAt: Date;
1046
+
1047
+ declare class AddReactionDto {
1048
+ emoji: string;
820
1049
  }
821
- type CurrenciesEndpoints = Endpoint<"GET", "/currencies/rates", ExchangeRates> | Endpoint<"POST", "/currencies/convert", CurrencyConversionResult, CurrencyConversion>;
822
1050
 
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"
1051
+ declare class ContentOrAttachmentsConstraint implements ValidatorConstraintInterface {
1052
+ validate(_value: unknown, args: ValidationArguments): boolean;
1053
+ defaultMessage(_args: ValidationArguments): string;
1054
+ }
1055
+ declare class CreateChannelMessageDto {
1056
+ content?: string;
1057
+ attachments?: string[];
1058
+ replyToId?: string;
919
1059
  }
920
1060
 
921
- declare enum FeedType {
922
- Following = "following",
923
- Discover = "discover"
1061
+ declare class ReportChannelMessageDto {
1062
+ reason: ChannelMessageReportReason;
1063
+ description?: string;
924
1064
  }
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
1065
 
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]>;
1066
+ declare class UpdateChannelMessageDto {
1067
+ content?: string;
932
1068
  }
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
1069
 
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 = {
1070
+ declare class UpdateChannelDto {
1071
+ name?: string;
1072
+ }
1073
+
1074
+ declare class GeoPointDto implements GeoPoint {
944
1075
  type: "Point";
945
1076
  coordinates: [number, number];
946
- };
947
- type Location$1 = {
1077
+ constructor();
1078
+ }
1079
+ declare class CreateLocationDto implements Location$1 {
948
1080
  name?: string;
949
1081
  address: string;
950
1082
  zipCode: string;
951
1083
  city: string;
952
1084
  country: string;
953
- geometry: GeoPoint;
954
- };
955
- interface GeoSearchAggregation<T> {
956
- metadata: {
957
- total: number;
958
- }[];
959
- data: T[];
1085
+ geometry: GeoPointDto;
960
1086
  }
961
- type Distance<T> = T & {
962
- distance: number;
963
- };
964
1087
 
965
- type OrganizationEventOrderEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/orders", Order, CreateOrganizationEventOrderDto>;
1088
+ declare class UpdateLocationDto implements Partial<Location$1> {
1089
+ name?: string;
1090
+ address?: string;
1091
+ zipCode?: string;
1092
+ city?: string;
1093
+ country?: string;
1094
+ geometry?: GeoPointDto;
1095
+ }
966
1096
 
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"
1097
+ declare class CreateOrganizationMemberDto {
1098
+ user: string;
1099
+ role: OrganizationMemberRole;
979
1100
  }
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
1101
 
982
- type OrganizationEventViewEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/views", boolean, null>;
1102
+ declare class CreateOrganizationDto {
1103
+ organizationSlug?: string;
1104
+ identity: CreateOrganizationIdentityDto;
1105
+ members: CreateOrganizationMemberDto[];
1106
+ location?: Location$1;
1107
+ }
1108
+ declare class CreateOrganizationIdentityDto {
1109
+ displayName: string;
1110
+ description?: string;
1111
+ avatarUrl?: string;
1112
+ bannerUrl?: string;
1113
+ links?: string[];
1114
+ }
983
1115
 
984
- type OrganizationEventTicket = Base & {
1116
+ type CreateOrganizationEventTicketInput = Omit<ExcludeBase<OrganizationEventTicket>, "price" | "product" | "event" | "fee"> & {
1117
+ price: number;
1118
+ };
1119
+ declare class CreateOrganizationEventTicketDto implements CreateOrganizationEventTicketInput {
985
1120
  name: string;
986
1121
  description?: string;
987
- price: Stripe__default.Price;
988
- product: Stripe__default.Product;
989
- fee: number;
1122
+ price: number;
990
1123
  quantity: number;
991
1124
  type: OrganizationEventTicketType;
992
1125
  category: OrganizationEventTicketCategory;
993
- externalId?: string;
1126
+ currency: Currency;
994
1127
  isVisible: boolean;
995
1128
  isFeesIncluded: boolean;
996
1129
  startAt?: Date;
997
1130
  endAt?: Date;
998
- event: OrganizationEvent;
999
- };
1000
- declare enum OrganizationEventTicketType {
1001
- ETicket = "e-ticket",
1002
- Other = "other"
1003
1131
  }
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"
1132
+
1133
+ declare class UpdateOrganizationEventTicketDto implements DeepPartial<CreateOrganizationEventTicketInput> {
1134
+ name?: string;
1135
+ description?: string;
1136
+ price?: number;
1137
+ quantity?: number;
1138
+ type?: OrganizationEventTicketType;
1139
+ category?: OrganizationEventTicketCategory;
1140
+ currency?: Currency;
1141
+ isVisible?: boolean;
1142
+ isFeesIncluded?: boolean;
1143
+ startAt?: Date;
1144
+ endAt?: Date;
1015
1145
  }
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
1146
 
1018
- type OrganizationEvent = Base & {
1147
+ declare class AtLeastOneMediaConstraint implements ValidatorConstraintInterface {
1148
+ validate(_value: unknown, args: ValidationArguments): boolean;
1149
+ defaultMessage(): string;
1150
+ }
1151
+ declare function AtLeastOneMedia(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
1152
+ type CreateOrganizationEventInput = Omit<ExcludeBase<OrganizationEvent>, "slug" | "styles" | "tickets" | "organization" | "status" | "viewsCount" | "sessionsCount" | "totalViewsCount" | "averageViewsPerSessionCount"> & {
1153
+ slug?: string;
1154
+ styles: string[];
1155
+ tickets: CreateOrganizationEventTicketInput[];
1156
+ };
1157
+ declare class BaseOrganizationEventDto {
1019
1158
  title: string;
1159
+ slug?: string;
1020
1160
  description: string;
1021
- slug: string;
1022
- organization: OrganizationProfile;
1023
1161
  type: OrganizationEventType;
1024
1162
  visibility: OrganizationEventVisibilityType;
1025
1163
  flyers: string[];
1026
1164
  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;
1165
+ location: CreateLocationDto;
1166
+ styles: string[];
1035
1167
  startAt: Date;
1036
1168
  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
1169
  }
1062
- declare enum OrganizationEventVisibilityType {
1063
- Public = "public",
1064
- Unlisted = "unlisted",
1065
- Private = "private"
1170
+ declare class CreateOrganizationEventDto extends BaseOrganizationEventDto implements CreateOrganizationEventInput {
1171
+ tickets: CreateOrganizationEventTicketDto[];
1066
1172
  }
1067
- declare enum OrganizationEventFileType {
1068
- Flyer = "flyer",
1069
- Trailer = "trailer"
1173
+
1174
+ declare class CreateOrganizationEventOrderDto {
1175
+ cart: string[];
1070
1176
  }
1071
- declare enum OrganizationEventStatus {
1072
- Upcoming = "upcoming",
1073
- Ongoing = "ongoing",
1074
- Ended = "ended"
1177
+
1178
+ declare class AtLeastOneMediaOnUpdateConstraint implements ValidatorConstraintInterface {
1179
+ validate(_value: unknown, args: ValidationArguments): boolean;
1180
+ defaultMessage(): string;
1181
+ }
1182
+ declare function AtLeastOneMediaOnUpdate(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
1183
+ declare class UpdateOrganizationEventDto implements DeepPartial<CreateOrganizationEventInput> {
1184
+ title?: string;
1185
+ slug?: string;
1186
+ description?: string;
1187
+ type?: OrganizationEventType;
1188
+ visibility?: OrganizationEventVisibilityType;
1189
+ flyers?: string[];
1190
+ trailers?: string[];
1191
+ location?: UpdateLocationDto;
1192
+ tickets?: UpdateOrganizationEventTicketDto[];
1193
+ styles?: string[];
1194
+ startAt?: Date;
1195
+ endAt?: Date;
1075
1196
  }
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
1197
 
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>;
1198
+ declare class AcceptOrganizationMemberInvitationDto {
1199
+ token: string;
1200
+ }
1201
+
1202
+ declare class CreateOrganizationMemberInvitationLinkDto {
1203
+ role?: OrganizationMemberRole;
1204
+ }
1205
+
1206
+ declare class UpdateOrganizationMemberDto {
1207
+ role: OrganizationMemberRole;
1208
+ }
1140
1209
 
1141
- type OrganizationCustomer = UserProfile & {
1210
+ declare class UpdateOrganizationDto {
1211
+ slug?: string;
1212
+ identity?: UpdateOrganizationIdentityDto;
1213
+ members?: UpdateOrganizationMemberDto[];
1214
+ location?: Location;
1215
+ }
1216
+ declare class UpdateOrganizationIdentityDto {
1217
+ displayName?: string;
1218
+ description?: string;
1219
+ avatarUrl?: string;
1220
+ bannerUrl?: string;
1221
+ links?: string[];
1222
+ }
1223
+
1224
+ declare class CreateUserDto {
1225
+ identifier: CreateUserIdentifierDto;
1226
+ identity: CreateUserIdentityDto;
1227
+ password: string;
1228
+ }
1229
+ declare class CreateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
1142
1230
  email?: string;
1143
1231
  phoneNumber?: string;
1232
+ username: string;
1233
+ }
1234
+ declare class CreateUserIdentityDto {
1144
1235
  firstName: string;
1145
1236
  lastName: string;
1146
- fullName: string;
1237
+ gender: UserIdentityGender;
1238
+ avatarUrl?: string;
1147
1239
  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>;
1240
+ links?: string[];
1241
+ }
1157
1242
 
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"
1243
+ declare class GoogleOneTapDto {
1244
+ credential: string;
1245
+ }
1246
+
1247
+ declare class RecoveryDto {
1248
+ identifier: string;
1249
+ }
1250
+
1251
+ declare class RecoveryResetDto {
1252
+ tokenId: string;
1253
+ tokenValue: string;
1254
+ password: string;
1255
+ }
1256
+
1257
+ declare class SignInUserDto {
1258
+ identifier: string;
1259
+ password: string;
1260
+ }
1261
+
1262
+ declare class UpdateUserDto {
1263
+ identifier?: UpdateUserIdentifierDto;
1264
+ identity?: UpdateUserIdentityDto;
1265
+ password?: string;
1266
+ }
1267
+ declare class UpdateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
1268
+ email?: string;
1269
+ phoneNumber?: string;
1270
+ username?: string;
1271
+ }
1272
+ declare class UpdateUserIdentityDto implements Partial<Pick<UserIdentity, "firstName" | "lastName" | "displayName" | "description" | "avatarUrl" | "bannerUrl" | "gender" | "birthDate">> {
1273
+ firstName?: string;
1274
+ lastName?: string;
1275
+ displayName?: string;
1276
+ description?: string;
1277
+ avatarUrl?: string | undefined;
1278
+ bannerUrl?: string | undefined;
1279
+ gender?: UserIdentityGender;
1280
+ birthDate?: Date;
1281
+ links?: string[];
1167
1282
  }
1168
1283
 
1169
1284
  type OrganizationMember = Base & {
@@ -1186,132 +1301,37 @@ declare enum OrganizationMemberRole {
1186
1301
  }
1187
1302
  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
1303
 
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;
1304
+ declare const OrganizationMemberRolePower: {
1305
+ [key in OrganizationMemberRole]: number;
1234
1306
  };
1235
- type AddRoadmapReactionBody = {
1236
- featureId: string;
1237
- reaction: RoadmapReaction;
1307
+ declare const UserRolePower: {
1308
+ [key in UserRole]: number;
1238
1309
  };
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
1310
 
1249
- type Base = {
1250
- id: string;
1251
- createdAt: Date;
1252
- updatedAt: Date;
1311
+ type CacheEntry<T> = {
1312
+ data: T;
1313
+ timestamp: number;
1253
1314
  };
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];
1315
+ type CacheOptions = {
1316
+ enabled: boolean;
1317
+ ttl?: number;
1318
+ methods?: Options["method"][];
1257
1319
  };
1258
- declare enum Language {
1259
- FR = "fr",
1260
- EN = "en"
1320
+ declare class CacheManager {
1321
+ private readonly cache;
1322
+ private readonly options;
1323
+ constructor(options: CacheOptions);
1324
+ private generateKey;
1325
+ private shouldCache;
1326
+ private isValid;
1327
+ get<T>(method: Options["method"], url: string): T | null;
1328
+ set<T>(method: Options["method"], url: string, data: T): void;
1329
+ clear(): void;
1330
+ stats(): {
1331
+ size: number;
1332
+ keys: string[];
1333
+ };
1261
1334
  }
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
1335
 
1316
1336
  interface APIRequestOptions extends Options {
1317
1337
  apiKey?: string;
@@ -1366,12 +1386,12 @@ declare class TonightPassAPIError<T> extends Error {
1366
1386
  readonly status: number;
1367
1387
  constructor(response: Response$1<APIResponse<T>>, data: ErroredAPIResponse);
1368
1388
  }
1369
- interface ClientOptions {
1389
+ type ClientOptions = {
1370
1390
  readonly baseURL: string;
1371
1391
  readonly apiKey?: string;
1372
1392
  readonly accessToken?: string;
1373
1393
  readonly cache?: CacheOptions;
1374
- }
1394
+ };
1375
1395
  declare class Client {
1376
1396
  private options;
1377
1397
  private apiKey?;
@@ -1394,13 +1414,6 @@ declare class Client {
1394
1414
  private requester;
1395
1415
  }
1396
1416
 
1397
- declare const OrganizationMemberRolePower: {
1398
- [key in OrganizationMemberRole]: number;
1399
- };
1400
- declare const UserRolePower: {
1401
- [key in UserRole]: number;
1402
- };
1403
-
1404
1417
  declare const apiKeys: (client: Client) => {
1405
1418
  getAll: () => Promise<ArrayResult<ApiKey>>;
1406
1419
  get: (apiKeyId: string) => Promise<ApiKey>;
@@ -1423,6 +1436,8 @@ declare const auth: (client: Client) => {
1423
1436
  };
1424
1437
  };
1425
1438
 
1439
+ declare function sdk<T>(builder: (client: Client) => T): (client: Client) => T;
1440
+
1426
1441
  declare const careers: (client: Client) => {
1427
1442
  categories: {
1428
1443
  getAll: (query?: Query<"/careers/categories">) => Promise<CareersCategory[]>;
@@ -1488,8 +1503,6 @@ declare const currencies: (client: Client) => {
1488
1503
  convertAmount: (from: Currency, to: Currency, amount: number) => Promise<CurrencyConversionResult>;
1489
1504
  };
1490
1505
 
1491
- declare function sdk<T>(builder: (client: Client) => T): (client: Client) => T;
1492
-
1493
1506
  declare const feed: (client: Client) => {
1494
1507
  getFollowing: (options?: ArrayOptions<FeedPost>) => Promise<ArrayResult<FeedPost>>;
1495
1508
  getDiscover: (options?: ArrayOptions<FeedPost>) => Promise<ArrayResult<FeedPost>>;
@@ -1502,6 +1515,10 @@ declare const health: (client: Client) => {
1502
1515
  app: () => Promise<Health<"app">>;
1503
1516
  };
1504
1517
 
1518
+ declare const notifications: (client: Client) => {
1519
+ registerToBeta: (email: string) => Promise<null>;
1520
+ };
1521
+
1505
1522
  declare const orders: (client: Client) => {
1506
1523
  getAll: (options?: ArrayOptions<Order>) => Promise<ArrayResult<Order>>;
1507
1524
  get: (orderId: string) => Promise<Order>;
@@ -1679,10 +1696,6 @@ declare const users: (client: Client) => {
1679
1696
  };
1680
1697
  };
1681
1698
 
1682
- declare const notifications: (client: Client) => {
1683
- registerToBeta: (email: string) => Promise<null>;
1684
- };
1685
-
1686
1699
  declare class TonightPass {
1687
1700
  readonly client: Client;
1688
1701
  readonly apiKeys: {
@@ -1978,21 +1991,21 @@ interface TypingStopEvent extends WebSocketEvent<{
1978
1991
  }
1979
1992
  type ChannelWebSocketEvent = ChannelMessageCreateEvent | ChannelMessageUpdateEvent | ChannelMessageDeleteEvent | ChannelUpdateEvent | ChannelDeleteEvent | ChannelMemberJoinEvent | ChannelMemberLeaveEvent | TypingStartEvent | TypingStopEvent;
1980
1993
 
1981
- interface WebSocketEvent<T = unknown> {
1994
+ type WebSocketEvent<T = unknown> = {
1982
1995
  type: string;
1983
1996
  data: T;
1984
- }
1985
- interface WebSocketConnectOptions {
1997
+ };
1998
+ type WebSocketConnectOptions = {
1986
1999
  token?: string;
1987
2000
  channelId?: string;
1988
2001
  organizationSlug?: string;
1989
- }
1990
- interface WebSocketClientOptions {
2002
+ };
2003
+ type WebSocketClientOptions = {
1991
2004
  baseURL: string;
1992
2005
  reconnectInterval?: number;
1993
2006
  maxReconnectAttempts?: number;
1994
2007
  debug?: boolean;
1995
- }
2008
+ };
1996
2009
 
1997
2010
  type GETEndpoints = Extract<Endpoints, {
1998
2011
  method: "GET";
@@ -2022,10 +2035,10 @@ type WebSocketOptionsFor<P extends WebSocketPaths> = Extract<WebSocketEndpoints,
2022
2035
  type WebSocketEventHandler<T> = (event: T) => void;
2023
2036
  declare class WebSocketClient {
2024
2037
  private ws?;
2025
- private options;
2038
+ private readonly options;
2026
2039
  private reconnectAttempts;
2027
2040
  private reconnectTimer?;
2028
- private eventHandlers;
2041
+ private readonly eventHandlers;
2029
2042
  private isConnected;
2030
2043
  private isReconnecting;
2031
2044
  constructor(options?: Partial<WebSocketClientOptions>);