tonightpass 0.0.233 → 0.0.235

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -21,33 +21,19 @@ declare const REGEX: {
21
21
  PASSWORD_LOWERCASE: RegExp;
22
22
  PASSWORD_NUMBER_SPECIAL: RegExp;
23
23
  IMAGE_URL: RegExp;
24
+ ORGANIZATION_AVATAR_URL: RegExp;
25
+ ORGANIZATION_BANNER_URL: RegExp;
26
+ EVENT_FLYER_URL: RegExp;
27
+ EVENT_FLYER_URL_UPDATE: RegExp;
28
+ EVENT_TRAILER_URL: RegExp;
29
+ EVENT_TRAILER_URL_UPDATE: RegExp;
30
+ USER_AVATAR_URL: RegExp;
31
+ USER_AVATAR_URL_CREATE: RegExp;
32
+ USER_BANNER_URL: RegExp;
33
+ CHANNEL_MESSAGE_ATTACHMENT: RegExp;
34
+ USER_POST_MEDIA_URL: RegExp;
24
35
  };
25
36
 
26
- interface CacheEntry<T> {
27
- data: T;
28
- timestamp: number;
29
- }
30
- interface CacheOptions {
31
- enabled: boolean;
32
- ttl?: number;
33
- methods?: Options["method"][];
34
- }
35
- declare class CacheManager {
36
- private cache;
37
- private options;
38
- constructor(options: CacheOptions);
39
- private generateKey;
40
- private shouldCache;
41
- private isValid;
42
- get<T>(method: Options["method"], url: string): T | null;
43
- set<T>(method: Options["method"], url: string, data: T): void;
44
- clear(): void;
45
- stats(): {
46
- size: number;
47
- keys: string[];
48
- };
49
- }
50
-
51
37
  type CreateApiKeyDto = {
52
38
  name: string;
53
39
  };
@@ -61,1109 +47,1236 @@ declare class AddParticipantDto {
61
47
  username: string;
62
48
  }
63
49
 
64
- declare class CreateChannelDto {
65
- type: ChannelType;
66
- participantUsernames: string[];
67
- name?: string;
68
- }
50
+ type Endpoint<M extends Options["method"], Path extends string, Res, Body = undefined> = {
51
+ method: M;
52
+ path: Path;
53
+ res: Res;
54
+ body: Body;
55
+ };
56
+ type Endpoints = ApiKeyEndpoints | AuthEndpoints | CareerEndpoints | ChannelEndpoints | ChannelMessageEndpoints | CurrenciesEndpoints | FeedEndpoints | HealthEndpoints | OrderEndpoints | OrganizationEndpoints | ProfileEndpoints | RoadmapEndpoints | UserEndpoints | WebhookEndpoints | NotificationEndpoints;
69
57
 
70
- declare class UpdateChannelDto {
71
- name?: string;
58
+ declare enum ApiKeyTier {
59
+ PUBLIC = "public",
60
+ BUILD = "build",
61
+ PREMIUM = "premium",
62
+ INTERNAL = "internal"
72
63
  }
64
+ type ApiKey = Base & {
65
+ key: string;
66
+ name: string;
67
+ tier: ApiKeyTier;
68
+ rateLimit: number;
69
+ user: UserProfile;
70
+ lastUsedAt?: Date;
71
+ isActive: boolean;
72
+ };
73
+ type ApiKeyEndpoints = Endpoint<"GET", "/api-keys", ArrayResult<ApiKey>> | Endpoint<"GET", "/api-keys/:apiKeyId", ApiKey> | Endpoint<"POST", "/api-keys", ApiKey, CreateApiKeyDto> | Endpoint<"PUT", "/api-keys/:apiKeyId", ApiKey, UpdateApiKeyDto> | Endpoint<"DELETE", "/api-keys/:apiKeyId", ApiKey, undefined>;
73
74
 
74
- declare class AddReactionDto {
75
- emoji: string;
75
+ declare enum UserNotificationType {
76
+ Follow = "follow"
76
77
  }
78
+ type UserNotificationBase = Base & {
79
+ type: UserNotificationType.Follow;
80
+ isSeen: boolean;
81
+ };
82
+ type UserNotificationFollow = UserNotificationBase & {
83
+ type: UserNotificationType.Follow;
84
+ follower: UserProfile;
85
+ };
86
+ type UserNotification = UserNotificationFollow;
87
+ type UserNotificationEndpoints = Endpoint<"GET", "/users/~me/notifications", ArrayResult<UserNotification>, ArrayOptions<UserNotification>> | Endpoint<"GET", "/users/~me/notifications/count", number, {
88
+ unseen?: boolean;
89
+ }> | Endpoint<"PUT", "/users/~me/notifications/read", void, undefined>;
77
90
 
78
- declare class ContentOrAttachmentsConstraint implements ValidatorConstraintInterface {
79
- validate(_value: unknown, args: ValidationArguments): boolean;
80
- defaultMessage(_args: ValidationArguments): string;
81
- }
82
- declare class CreateChannelMessageDto {
83
- content?: string;
84
- attachments?: string[];
91
+ declare class CreateUserPostCommentDto {
92
+ content: string;
85
93
  replyToId?: string;
86
94
  }
87
95
 
88
- declare class UpdateChannelMessageDto {
89
- content?: string;
96
+ declare class UpdateUserPostCommentDto {
97
+ content: string;
90
98
  }
91
99
 
92
- declare class ReportChannelMessageDto {
93
- reason: ChannelMessageReportReason;
94
- description?: string;
100
+ declare class CreateUserPostDto {
101
+ content?: string;
102
+ mediaUrls: string[];
103
+ visibility?: UserPostVisibility;
95
104
  }
96
105
 
97
- declare class GeoPointDto implements GeoPoint {
98
- type: "Point";
99
- coordinates: [number, number];
100
- constructor();
101
- }
102
- declare class CreateLocationDto implements Location$1 {
103
- name?: string;
104
- address: string;
105
- zipCode: string;
106
- city: string;
107
- country: string;
108
- geometry: GeoPointDto;
106
+ declare class CreateUserPostRepostDto {
107
+ comment?: string;
109
108
  }
110
109
 
111
- declare class UpdateLocationDto implements Partial<Location$1> {
112
- name?: string;
113
- address?: string;
114
- zipCode?: string;
115
- city?: string;
116
- country?: string;
117
- geometry?: GeoPointDto;
110
+ declare class UpdateUserPostDto {
111
+ content?: string;
112
+ visibility?: UserPostVisibility;
118
113
  }
119
114
 
120
- declare class CreateOrganizationMemberDto {
121
- user: string;
122
- role: OrganizationMemberRole;
123
- }
115
+ type UserPostComment = Base & {
116
+ post: UserPost;
117
+ author: UserProfile;
118
+ content: string;
119
+ replyTo?: UserPostComment;
120
+ isEdited: boolean;
121
+ editedAt?: Date;
122
+ };
123
+ type UserPostCommentEndpoints = Endpoint<"GET", "/users/@:username/posts/:postId/comments", ArrayResult<UserPostComment>, ArrayOptions<UserPostComment>> | Endpoint<"POST", "/users/~me/posts/:postId/comments", UserPostComment, CreateUserPostCommentDto> | Endpoint<"PUT", "/users/~me/posts/:postId/comments/:commentId", UserPostComment, UpdateUserPostCommentDto> | Endpoint<"DELETE", "/users/~me/posts/:postId/comments/:commentId", void, null>;
124
124
 
125
- declare class CreateOrganizationDto {
126
- organizationSlug?: string;
127
- identity: CreateOrganizationIdentityDto;
128
- members: CreateOrganizationMemberDto[];
129
- location?: Location$1;
125
+ declare enum UserPostMediaType {
126
+ Image = "image",
127
+ Video = "video"
130
128
  }
131
- declare class CreateOrganizationIdentityDto {
132
- displayName: string;
129
+ type UserPostMedia = {
130
+ url: string;
131
+ type: UserPostMediaType;
132
+ width: number;
133
+ height: number;
133
134
  description?: string;
134
- avatarUrl?: string;
135
- bannerUrl?: string;
136
- links?: string[];
137
- }
138
-
139
- declare class UpdateOrganizationMemberDto {
140
- role: OrganizationMemberRole;
141
- }
142
-
143
- declare class AcceptOrganizationMemberInvitationDto {
144
- token: string;
145
- }
135
+ isNSFW: boolean;
136
+ thumbnailUrl?: string;
137
+ duration?: number;
138
+ };
139
+ type UserPostMediaEndpoints = Endpoint<"POST", "/users/~me/posts/media", string, FormData>;
146
140
 
147
- declare class CreateOrganizationMemberInvitationLinkDto {
148
- role?: OrganizationMemberRole;
149
- }
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>;
150
147
 
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
- }
148
+ type UserPostViewEndpoints = Endpoint<"POST", "/users/@:username/posts/:postId/views", boolean, null>;
164
149
 
165
- declare class CreateOrganizationEventOrderDto {
166
- cart: string[];
150
+ declare enum UserPostVisibility {
151
+ Public = "public",
152
+ Followers = "followers",
153
+ Private = "private"
167
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;
168
170
 
169
- declare class CreateOrganizationEventStyleDto {
170
- type: OrganizationEventStyleType;
171
- emoji: string;
172
- name: string;
173
- }
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>;
174
176
 
175
- declare class UpdateOrganizationEventStyleDto extends CreateOrganizationEventStyleDto {
176
- }
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
+ }>;
177
190
 
178
- type CreateOrganizationEventTicketInput = Omit<ExcludeBase<OrganizationEventTicket>, "price" | "product" | "event" | "fee"> & {
179
- price: number;
191
+ type UserBookingWithoutTickets = Omit<UserBooking, "tickets">;
192
+ type UserBooking = Base & {
193
+ tickets: UserBookingTicket[];
194
+ order: Order;
195
+ customer: OrganizationCustomer;
196
+ event: OrganizationEvent;
180
197
  };
181
- declare class CreateOrganizationEventTicketDto implements CreateOrganizationEventTicketInput {
182
- name: string;
183
- 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
- }
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;
194
199
 
195
- declare class UpdateOrganizationEventTicketDto implements DeepPartial<CreateOrganizationEventTicketInput> {
196
- name?: string;
200
+ declare enum ProfileType {
201
+ User = "user",
202
+ Organization = "organization"
203
+ }
204
+ type BaseProfile = {
205
+ type: ProfileType;
206
+ slug: string;
207
+ displayName: string;
197
208
  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>;
550
+ type CurrencyConversion = {
551
+ from: Currency;
552
+ to: Currency;
553
+ amount: number;
554
+ };
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>;
448
564
 
449
- type UserBookingWithoutTickets = Omit<UserBooking, "tickets">;
450
- type UserBooking = Base & {
451
- tickets: UserBookingTicket[];
452
- order: Order;
453
- customer: OrganizationCustomer;
454
- event: OrganizationEvent;
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"
661
+ }
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];
688
+ };
689
+ type Location$1 = {
690
+ name?: string;
691
+ address: string;
692
+ zipCode: string;
693
+ city: string;
694
+ country: string;
695
+ geometry: GeoPoint;
696
+ };
697
+ type GeoSearchAggregation<T> = {
698
+ metadata: {
699
+ total: number;
700
+ }[];
701
+ data: T[];
702
+ };
703
+ type Distance<T> = T & {
704
+ distance: number;
455
705
  };
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;
457
706
 
458
- declare enum ProfileType {
459
- User = "user",
460
- Organization = "organization"
707
+ type NotificationEndpoints = Endpoint<"POST", "/notifications/subscribe/beta", null, {
708
+ email: string;
709
+ }>;
710
+
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;
461
717
  }
462
- type BaseProfile = {
463
- type: ProfileType;
718
+
719
+ declare class UpdateOrganizationEventStyleDto extends CreateOrganizationEventStyleDto {
720
+ }
721
+
722
+ type OrganizationEventStyle = Base & {
723
+ type: OrganizationEventStyleType;
724
+ emoji: string;
725
+ name: string;
464
726
  slug: string;
465
- displayName: string;
727
+ };
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;
466
741
  description?: string;
467
- avatarUrl?: string;
468
- bannerUrl?: string;
469
- links: string[];
470
- metadata: ProfileMetadata;
471
- createdAt: Date;
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;
472
754
  };
473
- type UserProfile = BaseProfile & {
474
- type: ProfileType.User;
475
- metadata: UserProfileMetadata;
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;
476
792
  };
477
- type OrganizationProfile = BaseProfile & {
478
- type: ProfileType.Organization;
479
- metadata: OrganizationProfileMetadata;
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"
816
+ }
817
+ declare enum OrganizationEventVisibilityType {
818
+ Public = "public",
819
+ Unlisted = "unlisted",
820
+ Private = "private"
821
+ }
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[];
480
835
  };
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;
836
+ type SearchOrganizationEventsOptions = ArrayOptions<OrganizationEvent> & {
837
+ q: string;
490
838
  };
491
- type UserProfileMetadata = BaseProfileMetadata & {
492
- hasPassPlus: boolean;
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;
854
+ };
855
+ totalOrders: {
856
+ current: number;
857
+ previous: number;
858
+ percentageChange: number;
859
+ };
860
+ totalTicketsSold: {
861
+ current: number;
862
+ previous: number;
863
+ percentageChange: number;
864
+ };
865
+ activeEvents: number;
866
+ };
867
+ chartData: {
868
+ date: string;
869
+ revenues: number;
870
+ orders: number;
871
+ ticketsSold: number;
872
+ events: number;
873
+ }[];
874
+ };
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
+ };
493
885
  };
494
- type OrganizationProfileMetadata = BaseProfileMetadata & {
495
- eventsCount: number;
496
- viewsCount: number;
497
- membersCount: number;
886
+ type AnalyticsOptions = {
887
+ period?: "7d" | "30d" | "90d" | "12m";
888
+ startDate?: string;
889
+ endDate?: string;
498
890
  };
499
- type ProfileMetadata = UserProfileMetadata | OrganizationProfileMetadata;
500
- type SearchProfilesOptions = ArrayOptions<Profile> & {
501
- q: string;
891
+ type EventAnalyticsOptions = AnalyticsOptions & {
892
+ status?: "upcoming" | "past" | "all";
502
893
  };
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>;
894
+ type OrganizationAnalyticsEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/analytics/overview", OrganizationAnalyticsOverview, AnalyticsOptions> | Endpoint<"GET", "/organizations/@:organizationSlug/analytics/events", ArrayResult<OrganizationEventAnalytics>, ArrayOptions<OrganizationEventAnalytics> & EventAnalyticsOptions>;
504
895
 
505
- type UserCustomer = UserProfile & {
896
+ type OrganizationCustomer = UserProfile & {
506
897
  email?: string;
507
898
  phoneNumber?: string;
508
899
  firstName: string;
509
900
  lastName: string;
510
901
  fullName: string;
511
- metadata: UserCustomerMetadata;
902
+ birthDate: Date;
903
+ metadata: OrganizationCustomerMetadata;
512
904
  };
513
- type UserCustomerMetadata = UserProfileMetadata & {
905
+ type OrganizationCustomerMetadata = UserProfileMetadata & {
514
906
  bookingsCount: number;
515
907
  eventsAttendedCount: number;
516
908
  totalSpent: number;
517
909
  lastBookingAt?: Date;
518
910
  };
911
+ type OrganizationCustomersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/customers", ArrayResult<OrganizationCustomer>, ArrayOptions<OrganizationCustomer>> | Endpoint<"GET", "/organizations/@:organizationSlug/customers/:username", OrganizationCustomer>;
519
912
 
520
- type UserToken = Omit<Base, "updatedAt"> & {
521
- type: UserTokenType;
913
+ type OrganizationOrder = Omit<Order, "user"> & {
914
+ customer: OrganizationCustomer;
915
+ };
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;
522
920
  value: string;
523
921
  expiresAt: Date;
524
- user?: User;
525
- identifier?: string;
922
+ organization?: Organization;
923
+ role?: OrganizationMemberRole;
526
924
  };
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"
925
+ declare enum OrganizationTokenType {
926
+ InvitationLink = "invitation_link"
534
927
  }
535
928
 
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;
547
- };
548
- type UserIdentifier = {
549
- email?: string;
550
- phoneNumber?: string;
551
- username: string;
552
- };
553
- type UserIdentity = UserProfile & {
554
- firstName: string;
555
- lastName: string;
556
- fullName: string;
557
- gender: UserIdentityGender;
558
- birthDate: Date;
559
- birthDateLastUpdatedAt?: Date;
560
- };
561
- declare enum UserRole {
562
- User = "user",
563
- Developer = "developer",
564
- Admin = "admin"
565
- }
566
- declare enum UserIdentityGender {
567
- Male = "male",
568
- Female = "female",
569
- NonBinary = "non-binary"
570
- }
571
- type UserPreferences = {
572
- language: Language;
573
- currency: Currency;
574
- notifications: {
575
- email: {
576
- newsletter: boolean;
577
- message: boolean;
578
- };
579
- push: {
580
- message: boolean;
581
- };
582
- };
583
- };
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;
604
- };
605
- type UserConnectionDevice = {
606
- type: string;
607
- brand: string;
929
+ type Organization = Base & {
930
+ slug: string;
931
+ identity: OrganizationIdentity;
932
+ members: OrganizationMember[];
933
+ location?: Location$1;
934
+ events: OrganizationEvent[];
935
+ savedTickets: OrganizationEventTicket[];
936
+ verified: boolean;
937
+ billing: OrganizationBilling;
608
938
  };
609
- type UserConnectionClient = {
610
- name: string;
611
- version: string;
939
+ type OrganizationBilling = {
940
+ account: string;
941
+ vatRate: number;
612
942
  };
613
- declare enum UserFileType {
943
+ type OrganizationBillingAccount = Stripe__default.Account;
944
+ type OrganizationIdentity = OrganizationProfile;
945
+ declare enum OrganizationFileType {
614
946
  Avatar = "avatar",
615
947
  Banner = "banner"
616
948
  }
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;
625
-
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;
634
- };
635
- type AuthResponse = {
636
- user: User;
637
- accessToken: string;
638
- refreshToken: string;
639
- };
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>;
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;
641
953
 
642
- type CareersOffice = {
643
- id: number | null;
644
- isDefault: boolean | null;
645
- name: string | null;
646
- city: string | null;
647
- countryIso: string | null;
648
- };
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;
663
- };
664
- type CareersCategory = {
665
- slug: string;
666
- name: string;
667
- subCategories?: (CareersCategory & {
668
- id: number;
669
- })[];
954
+ declare const ROADMAP_REACTIONS: readonly ["👍", "❤️", "🎉", "👀", "🚀"];
955
+ type RoadmapReaction = (typeof ROADMAP_REACTIONS)[number];
956
+ type RoadmapReactionCounts = {
957
+ [K in RoadmapReaction]?: number;
670
958
  };
671
- type CareersEmploymentType = {
672
- id: number;
673
- name: string;
674
- slug: string;
675
- };
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"
959
+ declare enum RoadmapFeatureStatus {
960
+ ComingSoon = "coming-soon",
961
+ Shipped = "shipped"
718
962
  }
719
- type ChannelMessageReadByEntry = {
720
- participant: ChannelParticipant;
721
- readAt: Date;
722
- };
723
- type ChannelMessageReaction = {
724
- emoji: string;
725
- participants: ChannelParticipant[];
963
+ type RoadmapFeature = {
964
+ id: string;
965
+ title: string;
966
+ description: string;
967
+ status: RoadmapFeatureStatus;
968
+ date?: string;
726
969
  };
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[];
970
+ type AddRoadmapReactionBody = {
971
+ featureId: string;
972
+ reaction: RoadmapReaction;
740
973
  };
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>;
974
+ type RoadmapEndpoints = Endpoint<"GET", "/roadmap/reactions/:featureId", RoadmapReactionCounts, {
975
+ featureId: string;
976
+ }> | Endpoint<"POST", "/roadmap/reactions/:featureId", RoadmapReactionCounts, AddRoadmapReactionBody>;
742
977
 
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"
978
+ type WebhookEndpoints = Endpoint<"POST", "/webhooks/stripe", boolean, Stripe__default.Event>;
979
+
980
+ type Base = {
981
+ id: string;
982
+ createdAt: Date;
983
+ updatedAt: Date;
984
+ };
985
+ type ExcludeBase<T> = Omit<T, keyof Base>;
986
+ type DeepPartial<T> = {
987
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
988
+ };
989
+ declare enum Language {
990
+ FR = "fr",
991
+ EN = "en"
758
992
  }
759
- type Channel = Base & {
760
- type: ChannelType;
761
- participants: ChannelParticipant[];
762
- name?: string;
763
- lastMessageAt?: Date;
764
- status?: ChannelStatus;
765
- unreadCount?: number;
993
+ type ArraySortOptions = {
994
+ /**
995
+ * Field to sort
996
+ */
997
+ field: string;
998
+ /**
999
+ * Order to sort
1000
+ */
1001
+ order: "asc" | "desc";
766
1002
  };
767
- type ChannelMember = {
768
- participant: ChannelParticipant;
769
- joinedAt: Date;
770
- role?: ChannelMemberRole;
771
- lastReadAt?: Date;
1003
+ type ArrayPaginationOptions = {
1004
+ /**
1005
+ * Page number
1006
+ */
1007
+ page?: number;
1008
+ /**
1009
+ * Number of items per page
1010
+ */
1011
+ limit?: number;
1012
+ /**
1013
+ * Offset to start from
1014
+ */
1015
+ offset?: number;
772
1016
  };
773
- type UserChannelCountOptions = {
774
- unseen?: boolean;
1017
+ type ArrayFilterOptions = {
1018
+ /**
1019
+ * Field to filter
1020
+ */
1021
+ field: string;
1022
+ /**
1023
+ * Value to filter
1024
+ */
1025
+ value: string;
1026
+ /**
1027
+ * Operator to use
1028
+ */
1029
+ operator: "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "in" | "nin";
1030
+ };
1031
+ type ArrayOptions<_T> = {} & ArrayPaginationOptions;
1032
+ type ArrayResult<T> = {
1033
+ items: T[];
1034
+ total: number;
1035
+ page: number;
1036
+ limit: number;
775
1037
  };
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>>;
777
1038
 
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>;
806
- updatedAt: Date;
807
- }
808
- interface CurrencyConversion {
809
- from: Currency;
810
- to: Currency;
811
- amount: number;
1039
+ declare class CreateChannelDto {
1040
+ type: ChannelType;
1041
+ participantUsernames: string[];
1042
+ name?: string;
812
1043
  }
813
- interface CurrencyConversionResult {
814
- originalAmount: number;
815
- originalCurrency: Currency;
816
- convertedAmount: number;
817
- targetCurrency: Currency;
818
- exchangeRate: number;
819
- convertedAt: Date;
1044
+
1045
+ declare class AddReactionDto {
1046
+ emoji: string;
820
1047
  }
821
- type CurrenciesEndpoints = Endpoint<"GET", "/currencies/rates", ExchangeRates> | Endpoint<"POST", "/currencies/convert", CurrencyConversionResult, CurrencyConversion>;
822
1048
 
823
- declare enum ErrorType {
824
- AuthEmailAlreadyExists = "auth.email-already-exists",
825
- AuthUsernameAlreadyExists = "auth.username-already-exists",
826
- AuthPhoneNumberAlreadyExists = "auth.phone-number-already-exists",
827
- AuthInvalidCredentials = "auth.invalid-credentials",
828
- AuthUserNotFound = "auth.user-not-found",
829
- AuthInvalidToken = "auth.invalid-token",
830
- AuthTokenExpired = "auth.token-expired",
831
- AuthUnauthorized = "auth.unauthorized",
832
- AuthPasswordMismatch = "auth.password-mismatch",
833
- AuthInvalidOAuth2Provider = "auth.invalid-oauth2-provider",
834
- AuthOAuth2Error = "auth.oauth2-error",
835
- UserNotFound = "user.not-found",
836
- UserInvalidUsername = "user.invalid-username",
837
- UserInvalidEmail = "user.invalid-email",
838
- UserInvalidPhoneNumber = "user.invalid-phone-number",
839
- UserInvalidPassword = "user.invalid-password",
840
- UserInvalidBirthDate = "user.invalid-birth-date",
841
- UserInvalidGender = "user.invalid-gender",
842
- UserInvalidRole = "user.invalid-role",
843
- UserInvalidPreferences = "user.invalid-preferences",
844
- UserInvalidLocation = "user.invalid-location",
845
- UserInvalidFile = "user.invalid-file",
846
- UserFileTooLarge = "user.file-too-large",
847
- UserUnsupportedFileType = "user.unsupported-file-type",
848
- OrganizationNotFound = "organization.not-found",
849
- OrganizationInvalidSlug = "organization.invalid-slug",
850
- OrganizationInvalidName = "organization.invalid-name",
851
- OrganizationInvalidDescription = "organization.invalid-description",
852
- OrganizationInvalidLocation = "organization.invalid-location",
853
- OrganizationInvalidSocialLink = "organization.invalid-social-link",
854
- OrganizationAlreadyExists = "organization.already-exists",
855
- OrganizationUnauthorized = "organization.unauthorized",
856
- OrganizationMemberNotFound = "organization.member-not-found",
857
- OrganizationMemberInvalidRole = "organization.member-invalid-role",
858
- OrganizationMemberAlreadyExists = "organization.member-already-exists",
859
- EventNotFound = "event.not-found",
860
- EventInvalidTitle = "event.invalid-title",
861
- EventInvalidDescription = "event.invalid-description",
862
- EventInvalidLocation = "event.invalid-location",
863
- EventInvalidDates = "event.invalid-dates",
864
- EventInvalidTickets = "event.invalid-tickets",
865
- EventInvalidStyles = "event.invalid-styles",
866
- EventInvalidType = "event.invalid-type",
867
- EventInvalidVisibility = "event.invalid-visibility",
868
- EventUnavailable = "event.unavailable",
869
- EventTicketNotFound = "event.ticket-not-found",
870
- EventTicketUnavailable = "event.ticket-unavailable",
871
- EventTicketInvalidQuantity = "event.ticket-invalid-quantity",
872
- OrderNotFound = "order.not-found",
873
- OrderInvalidStatus = "order.invalid-status",
874
- OrderInvalidPayment = "order.invalid-payment",
875
- OrderPaymentFailed = "order.payment-failed",
876
- OrderAlreadyPaid = "order.already-paid",
877
- OrderCancelled = "order.cancelled",
878
- OrderRefunded = "order.refunded",
879
- OrderExpired = "order.expired",
880
- BookingNotFound = "booking.not-found",
881
- BookingInvalidStatus = "booking.invalid-status",
882
- BookingInvalidTickets = "booking.invalid-tickets",
883
- BookingTicketNotFound = "booking.ticket-not-found",
884
- BookingTicketInvalidToken = "booking.ticket-invalid-token",
885
- BookingTicketExpired = "booking.ticket-expired",
886
- BookingTicketUsed = "booking.ticket-used",
887
- FileNotFound = "file.not-found",
888
- FileInvalidType = "file.invalid-type",
889
- FileTooLarge = "file.too-large",
890
- FileUploadFailed = "file.upload-failed",
891
- ValidationError = "validation.error",
892
- DatabaseError = "database.error",
893
- InternalServerError = "server.internal-error",
894
- NotFound = "not-found",
895
- BadRequest = "bad-request",
896
- Unauthorized = "unauthorized",
897
- Forbidden = "forbidden",
898
- TooManyRequests = "too-many-requests",
899
- ServiceUnavailable = "service-unavailable",
900
- TooManyRequestsAuth = "rate-limit.auth",
901
- TooManyRequestsApi = "rate-limit.api",
902
- WebhookInvalidSignature = "webhook.invalid-signature",
903
- WebhookInvalidEvent = "webhook.invalid-event",
904
- WebhookProcessingFailed = "webhook.processing-failed",
905
- PaymentRequired = "payment.required",
906
- PaymentMethodRequired = "payment.method-required",
907
- PaymentFailed = "payment.failed",
908
- PaymentCancelled = "payment.cancelled",
909
- PaymentRefunded = "payment.refunded",
910
- BillingInvalidAccount = "billing.invalid-account",
911
- BillingAccountRequired = "billing.account-required",
912
- NotificationInvalidType = "notification.invalid-type",
913
- NotificationSendingFailed = "notification.sending-failed",
914
- CacheError = "cache.error",
915
- CacheMiss = "cache.miss",
916
- ExternalServiceError = "external-service.error",
917
- ExternalServiceTimeout = "external-service.timeout",
918
- ExternalServiceUnavailable = "external-service.unavailable"
1049
+ declare class ContentOrAttachmentsConstraint implements ValidatorConstraintInterface {
1050
+ validate(_value: unknown, args: ValidationArguments): boolean;
1051
+ defaultMessage(_args: ValidationArguments): string;
1052
+ }
1053
+ declare class CreateChannelMessageDto {
1054
+ content?: string;
1055
+ attachments?: string[];
1056
+ replyToId?: string;
919
1057
  }
920
1058
 
921
- declare enum FeedType {
922
- Following = "following",
923
- Discover = "discover"
1059
+ declare class ReportChannelMessageDto {
1060
+ reason: ChannelMessageReportReason;
1061
+ description?: string;
924
1062
  }
925
- type FeedPost = UserPost | OrganizationEvent[];
926
- type FeedEndpoints = Endpoint<"GET", "/feed/following", ArrayResult<FeedPost>, ArrayOptions<FeedPost>> | Endpoint<"GET", "/feed/discover", ArrayResult<FeedPost>, ArrayOptions<FeedPost>>;
927
1063
 
928
- interface Health<T extends string = string> extends HealthCheckResult {
929
- info?: Record<T, HealthIndicatorResult[T]>;
930
- error?: Record<T, HealthIndicatorResult[T]>;
931
- details: Record<T, HealthIndicatorResult[T]>;
1064
+ declare class UpdateChannelMessageDto {
1065
+ content?: string;
932
1066
  }
933
- type HealthEndpoints = Endpoint<"GET", "/health", Health<"database" | "app" | "api" | "database">> | Endpoint<"GET", "/health/database", Health<"database">> | Endpoint<"GET", "/health/api", Health<"api">> | Endpoint<"GET", "/health/app", Health<"app">>;
934
1067
 
935
- /**
936
- * Represents a GeoJSON point with specific geographic coordinates.
937
- *
938
- * @see https://geojson.org/geojson-spec.html#point
939
- *
940
- * @property {"Point"} type - The type of the geometry, which is always "Point" for a GeoJSON point.
941
- * @property {[number, number]} coordinates - The coordinates of the point, represented as [longitude, latitude].
942
- */
943
- type GeoPoint = {
1068
+ declare class UpdateChannelDto {
1069
+ name?: string;
1070
+ }
1071
+
1072
+ declare class GeoPointDto implements GeoPoint {
944
1073
  type: "Point";
945
1074
  coordinates: [number, number];
946
- };
947
- type Location$1 = {
1075
+ constructor();
1076
+ }
1077
+ declare class CreateLocationDto implements Location$1 {
948
1078
  name?: string;
949
1079
  address: string;
950
1080
  zipCode: string;
951
1081
  city: string;
952
1082
  country: string;
953
- geometry: GeoPoint;
954
- };
955
- interface GeoSearchAggregation<T> {
956
- metadata: {
957
- total: number;
958
- }[];
959
- data: T[];
1083
+ geometry: GeoPointDto;
960
1084
  }
961
- type Distance<T> = T & {
962
- distance: number;
963
- };
964
1085
 
965
- type OrganizationEventOrderEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/orders", Order, CreateOrganizationEventOrderDto>;
1086
+ declare class UpdateLocationDto implements Partial<Location$1> {
1087
+ name?: string;
1088
+ address?: string;
1089
+ zipCode?: string;
1090
+ city?: string;
1091
+ country?: string;
1092
+ geometry?: GeoPointDto;
1093
+ }
966
1094
 
967
- type OrganizationEventStyle = Base & {
968
- type: OrganizationEventStyleType;
969
- emoji: string;
970
- name: string;
971
- slug: string;
972
- };
973
- declare enum OrganizationEventStyleType {
974
- Music = "music",
975
- Dress = "dress",
976
- Sport = "sport",
977
- Food = "food",
978
- Art = "art"
1095
+ declare class CreateOrganizationMemberDto {
1096
+ user: string;
1097
+ role: OrganizationMemberRole;
979
1098
  }
980
- type OrganizationEventStyleEndpoints = Endpoint<"GET", "/organizations/events/styles", OrganizationEventStyle[]> | Endpoint<"GET", "/organizations/events/styles/:styleSlug", OrganizationEventStyle> | Endpoint<"POST", "/organizations/events/styles", OrganizationEventStyle, CreateOrganizationEventStyleDto> | Endpoint<"PUT", "/organizations/events/styles/:styleSlug", OrganizationEventStyle, UpdateOrganizationEventStyleDto> | Endpoint<"DELETE", "/organizations/events/styles/:styleSlug", OrganizationEventStyle[], null>;
981
1099
 
982
- type OrganizationEventViewEndpoints = Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/views", boolean, null>;
1100
+ declare class CreateOrganizationDto {
1101
+ organizationSlug?: string;
1102
+ identity: CreateOrganizationIdentityDto;
1103
+ members: CreateOrganizationMemberDto[];
1104
+ location?: Location$1;
1105
+ }
1106
+ declare class CreateOrganizationIdentityDto {
1107
+ displayName: string;
1108
+ description?: string;
1109
+ avatarUrl?: string;
1110
+ bannerUrl?: string;
1111
+ links?: string[];
1112
+ }
983
1113
 
984
- type OrganizationEventTicket = Base & {
1114
+ type CreateOrganizationEventTicketInput = Omit<ExcludeBase<OrganizationEventTicket>, "price" | "product" | "event" | "fee"> & {
1115
+ price: number;
1116
+ };
1117
+ declare class CreateOrganizationEventTicketDto implements CreateOrganizationEventTicketInput {
985
1118
  name: string;
986
1119
  description?: string;
987
- price: Stripe__default.Price;
988
- product: Stripe__default.Product;
989
- fee: number;
1120
+ price: number;
990
1121
  quantity: number;
991
1122
  type: OrganizationEventTicketType;
992
1123
  category: OrganizationEventTicketCategory;
993
- externalId?: string;
1124
+ currency: Currency;
994
1125
  isVisible: boolean;
995
1126
  isFeesIncluded: boolean;
996
1127
  startAt?: Date;
997
1128
  endAt?: Date;
998
- event: OrganizationEvent;
999
- };
1000
- declare enum OrganizationEventTicketType {
1001
- ETicket = "e-ticket",
1002
- Other = "other"
1003
1129
  }
1004
- declare enum OrganizationEventTicketCategory {
1005
- Entry = "entry",
1006
- Package = "package",
1007
- Meal = "meal",
1008
- Drink = "drink",
1009
- Parking = "parking",
1010
- Accommodation = "accommodation",
1011
- Camping = "camping",
1012
- Locker = "locker",
1013
- Shuttle = "shuttle",
1014
- Other = "other"
1130
+
1131
+ declare class UpdateOrganizationEventTicketDto implements DeepPartial<CreateOrganizationEventTicketInput> {
1132
+ name?: string;
1133
+ description?: string;
1134
+ price?: number;
1135
+ quantity?: number;
1136
+ type?: OrganizationEventTicketType;
1137
+ category?: OrganizationEventTicketCategory;
1138
+ currency?: Currency;
1139
+ isVisible?: boolean;
1140
+ isFeesIncluded?: boolean;
1141
+ startAt?: Date;
1142
+ endAt?: Date;
1015
1143
  }
1016
- type OrganizationEventTicketEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/tickets", OrganizationEventTicket[]> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket> | Endpoint<"POST", "/organizations/@:organizationSlug/events/:eventSlug/tickets", OrganizationEventTicket, CreateOrganizationEventTicketDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket, UpdateOrganizationEventTicketDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/events/:eventSlug/tickets/:ticketId", OrganizationEventTicket[], null>;
1017
1144
 
1018
- type OrganizationEvent = Base & {
1145
+ declare class AtLeastOneMediaConstraint implements ValidatorConstraintInterface {
1146
+ validate(_value: unknown, args: ValidationArguments): boolean;
1147
+ defaultMessage(): string;
1148
+ }
1149
+ declare function AtLeastOneMedia(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
1150
+ type CreateOrganizationEventInput = Omit<ExcludeBase<OrganizationEvent>, "slug" | "styles" | "tickets" | "organization" | "status" | "viewsCount" | "sessionsCount" | "totalViewsCount" | "averageViewsPerSessionCount"> & {
1151
+ slug?: string;
1152
+ styles: string[];
1153
+ tickets: CreateOrganizationEventTicketInput[];
1154
+ };
1155
+ declare class BaseOrganizationEventDto {
1019
1156
  title: string;
1157
+ slug?: string;
1020
1158
  description: string;
1021
- slug: string;
1022
- organization: OrganizationProfile;
1023
1159
  type: OrganizationEventType;
1024
1160
  visibility: OrganizationEventVisibilityType;
1025
1161
  flyers: string[];
1026
1162
  trailers: string[];
1027
- location: Location$1;
1028
- tickets: OrganizationEventTicket[];
1029
- styles: OrganizationEventStyle[];
1030
- status: OrganizationEventStatus;
1031
- viewsCount: number;
1032
- sessionsCount: number;
1033
- totalViewsCount: number;
1034
- averageViewsPerSessionCount: number;
1163
+ location: CreateLocationDto;
1164
+ styles: string[];
1035
1165
  startAt: Date;
1036
1166
  endAt: Date;
1037
- };
1038
- declare enum OrganizationEventType {
1039
- Clubbing = "clubbing",
1040
- Concert = "concert",
1041
- Festival = "festival",
1042
- HouseParty = "house_party",
1043
- FriendsParty = "friends_party",
1044
- Afterwork = "afterwork",
1045
- DancingLunch = "dancing_lunch",
1046
- Diner = "diner",
1047
- Garden = "garden",
1048
- AfterBeach = "after_beach",
1049
- Spectacle = "spectacle",
1050
- Cruise = "cruise",
1051
- OutsideAnimation = "outside_animation",
1052
- Sport = "sport",
1053
- Match = "match",
1054
- Seminar = "seminar",
1055
- Conference = "conference",
1056
- WellnessDay = "wellness_day",
1057
- Workshop = "workshop",
1058
- TradeFair = "trade_fair",
1059
- ConsumerShow = "consumer_show",
1060
- Membership = "membership"
1061
- }
1062
- declare enum OrganizationEventVisibilityType {
1063
- Public = "public",
1064
- Unlisted = "unlisted",
1065
- Private = "private"
1066
1167
  }
1067
- declare enum OrganizationEventFileType {
1068
- Flyer = "flyer",
1069
- Trailer = "trailer"
1168
+ declare class CreateOrganizationEventDto extends BaseOrganizationEventDto implements CreateOrganizationEventInput {
1169
+ tickets: CreateOrganizationEventTicketDto[];
1070
1170
  }
1071
- declare enum OrganizationEventStatus {
1072
- Upcoming = "upcoming",
1073
- Ongoing = "ongoing",
1074
- Ended = "ended"
1171
+
1172
+ declare class CreateOrganizationEventOrderDto {
1173
+ cart: string[];
1075
1174
  }
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
1175
 
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>;
1176
+ declare class AtLeastOneMediaOnUpdateConstraint implements ValidatorConstraintInterface {
1177
+ validate(_value: unknown, args: ValidationArguments): boolean;
1178
+ defaultMessage(): string;
1179
+ }
1180
+ declare function AtLeastOneMediaOnUpdate(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
1181
+ declare class UpdateOrganizationEventDto implements DeepPartial<CreateOrganizationEventInput> {
1182
+ title?: string;
1183
+ slug?: string;
1184
+ description?: string;
1185
+ type?: OrganizationEventType;
1186
+ visibility?: OrganizationEventVisibilityType;
1187
+ flyers?: string[];
1188
+ trailers?: string[];
1189
+ location?: UpdateLocationDto;
1190
+ tickets?: UpdateOrganizationEventTicketDto[];
1191
+ styles?: string[];
1192
+ startAt?: Date;
1193
+ endAt?: Date;
1194
+ }
1140
1195
 
1141
- type OrganizationCustomer = UserProfile & {
1196
+ declare class AcceptOrganizationMemberInvitationDto {
1197
+ token: string;
1198
+ }
1199
+
1200
+ declare class CreateOrganizationMemberInvitationLinkDto {
1201
+ role?: OrganizationMemberRole;
1202
+ }
1203
+
1204
+ declare class UpdateOrganizationMemberDto {
1205
+ role: OrganizationMemberRole;
1206
+ }
1207
+
1208
+ declare class UpdateOrganizationDto {
1209
+ slug?: string;
1210
+ identity?: UpdateOrganizationIdentityDto;
1211
+ members?: UpdateOrganizationMemberDto[];
1212
+ location?: Location;
1213
+ }
1214
+ declare class UpdateOrganizationIdentityDto {
1215
+ displayName?: string;
1216
+ description?: string;
1217
+ avatarUrl?: string;
1218
+ bannerUrl?: string;
1219
+ links?: string[];
1220
+ }
1221
+
1222
+ declare class CreateUserDto {
1223
+ identifier: CreateUserIdentifierDto;
1224
+ identity: CreateUserIdentityDto;
1225
+ password: string;
1226
+ }
1227
+ declare class CreateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
1142
1228
  email?: string;
1143
1229
  phoneNumber?: string;
1230
+ username: string;
1231
+ }
1232
+ declare class CreateUserIdentityDto {
1144
1233
  firstName: string;
1145
1234
  lastName: string;
1146
- fullName: string;
1235
+ gender: UserIdentityGender;
1236
+ avatarUrl?: string;
1147
1237
  birthDate: Date;
1148
- metadata: OrganizationCustomerMetadata;
1149
- };
1150
- type OrganizationCustomerMetadata = UserProfileMetadata & {
1151
- bookingsCount: number;
1152
- eventsAttendedCount: number;
1153
- totalSpent: number;
1154
- lastBookingAt?: Date;
1155
- };
1156
- type OrganizationCustomersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/customers", ArrayResult<OrganizationCustomer>, ArrayOptions<OrganizationCustomer>> | Endpoint<"GET", "/organizations/@:organizationSlug/customers/:username", OrganizationCustomer>;
1238
+ links?: string[];
1239
+ }
1157
1240
 
1158
- type OrganizationToken = Omit<Base, "updatedAt"> & {
1159
- type: OrganizationTokenType;
1160
- value: string;
1161
- expiresAt: Date;
1162
- organization?: Organization;
1163
- role?: OrganizationMemberRole;
1164
- };
1165
- declare enum OrganizationTokenType {
1166
- InvitationLink = "invitation_link"
1241
+ declare class GoogleOneTapDto {
1242
+ credential: string;
1243
+ }
1244
+
1245
+ declare class RecoveryDto {
1246
+ identifier: string;
1247
+ }
1248
+
1249
+ declare class RecoveryResetDto {
1250
+ tokenId: string;
1251
+ tokenValue: string;
1252
+ password: string;
1253
+ }
1254
+
1255
+ declare class SignInUserDto {
1256
+ identifier: string;
1257
+ password: string;
1258
+ }
1259
+
1260
+ declare class UpdateUserDto {
1261
+ identifier?: UpdateUserIdentifierDto;
1262
+ identity?: UpdateUserIdentityDto;
1263
+ password?: string;
1264
+ }
1265
+ declare class UpdateUserIdentifierDto implements Partial<Pick<UserIdentifier, "email" | "phoneNumber" | "username">> {
1266
+ email?: string;
1267
+ phoneNumber?: string;
1268
+ username?: string;
1269
+ }
1270
+ declare class UpdateUserIdentityDto implements Partial<Pick<UserIdentity, "firstName" | "lastName" | "displayName" | "description" | "avatarUrl" | "bannerUrl" | "gender" | "birthDate">> {
1271
+ firstName?: string;
1272
+ lastName?: string;
1273
+ displayName?: string;
1274
+ description?: string;
1275
+ avatarUrl?: string | undefined;
1276
+ bannerUrl?: string | undefined;
1277
+ gender?: UserIdentityGender;
1278
+ birthDate?: Date;
1279
+ links?: string[];
1167
1280
  }
1168
1281
 
1169
1282
  type OrganizationMember = Base & {
@@ -1186,108 +1299,37 @@ declare enum OrganizationMemberRole {
1186
1299
  }
1187
1300
  type OrganizationMembersEndpoints = Endpoint<"GET", "/organizations/members/~me", ArrayResult<OrganizationMember>, ArrayOptions<OrganizationMember>> | Endpoint<"GET", "/organizations/@:organizationSlug/members", ArrayResult<OrganizationMember>, ArrayOptions<OrganizationMember>> | Endpoint<"POST", "/organizations/@:organizationSlug/members", OrganizationMember, CreateOrganizationMemberDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/members/:username", OrganizationMember, UpdateOrganizationMemberDto> | Endpoint<"DELETE", "/organizations/@:organizationSlug/members/:username", OrganizationMember[], undefined> | Endpoint<"GET", "/organizations/@:organizationSlug/members/invitations/links", ArrayResult<OrganizationToken>, ArrayOptions<OrganizationToken>> | Endpoint<"POST", "/organizations/@:organizationSlug/members/invitations/links", OrganizationToken, CreateOrganizationMemberInvitationLinkDto> | Endpoint<"POST", "/organizations/@:organizationSlug/members/invitations/accept", OrganizationMember, AcceptOrganizationMemberInvitationDto> | Endpoint<"PUT", "/organizations/@:organizationSlug/members/~me/accept", OrganizationMember, undefined> | Endpoint<"DELETE", "/organizations/@:organizationSlug/members/~me/reject", null, undefined> | Endpoint<"DELETE", "/organizations/@:organizationSlug/members/~me", null, undefined>;
1188
1301
 
1189
- type OrganizationOrder = Omit<Order, "user"> & {
1190
- customer: OrganizationCustomer;
1191
- };
1192
- type OrganizationOrdersEndpoints = Endpoint<"GET", "/organizations/@:organizationSlug/orders", ArrayResult<OrganizationOrder>, ArrayOptions<OrganizationOrder>> | Endpoint<"GET", "/organizations/@:organizationSlug/orders/:orderId", OrganizationOrder> | Endpoint<"GET", "/organizations/@:organizationSlug/events/:eventSlug/orders", ArrayResult<OrganizationOrder>, ArrayOptions<OrganizationOrder>>;
1193
-
1194
- type Organization = Base & {
1195
- slug: string;
1196
- identity: OrganizationIdentity;
1197
- members: OrganizationMember[];
1198
- location?: Location$1;
1199
- events: OrganizationEvent[];
1200
- savedTickets: OrganizationEventTicket[];
1201
- verified: boolean;
1202
- billing: OrganizationBilling;
1302
+ declare const OrganizationMemberRolePower: {
1303
+ [key in OrganizationMemberRole]: number;
1203
1304
  };
1204
- type OrganizationBilling = {
1205
- account: string;
1206
- vatRate: number;
1305
+ declare const UserRolePower: {
1306
+ [key in UserRole]: number;
1207
1307
  };
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
- type WebhookEndpoints = Endpoint<"POST", "/webhooks/stripe", boolean, Stripe__default.Event>;
1220
-
1221
- type NotificationEndpoints = Endpoint<"POST", "/notifications/subscribe/beta", null, {
1222
- email: string;
1223
- }>;
1224
1308
 
1225
- type Base = {
1226
- id: string;
1227
- createdAt: Date;
1228
- updatedAt: Date;
1309
+ type CacheEntry<T> = {
1310
+ data: T;
1311
+ timestamp: number;
1229
1312
  };
1230
- type ExcludeBase<T> = Omit<T, keyof Base>;
1231
- type DeepPartial<T> = {
1232
- [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
1313
+ type CacheOptions = {
1314
+ enabled: boolean;
1315
+ ttl?: number;
1316
+ methods?: Options["method"][];
1233
1317
  };
1234
- declare enum Language {
1235
- FR = "fr",
1236
- EN = "en"
1318
+ declare class CacheManager {
1319
+ private readonly cache;
1320
+ private readonly options;
1321
+ constructor(options: CacheOptions);
1322
+ private generateKey;
1323
+ private shouldCache;
1324
+ private isValid;
1325
+ get<T>(method: Options["method"], url: string): T | null;
1326
+ set<T>(method: Options["method"], url: string, data: T): void;
1327
+ clear(): void;
1328
+ stats(): {
1329
+ size: number;
1330
+ keys: string[];
1331
+ };
1237
1332
  }
1238
- type ArraySortOptions = {
1239
- /**
1240
- * Field to sort
1241
- */
1242
- field: string;
1243
- /**
1244
- * Order to sort
1245
- */
1246
- order: "asc" | "desc";
1247
- };
1248
- type ArrayPaginationOptions = {
1249
- /**
1250
- * Page number
1251
- */
1252
- page?: number;
1253
- /**
1254
- * Number of items per page
1255
- */
1256
- limit?: number;
1257
- /**
1258
- * Offset to start from
1259
- */
1260
- offset?: number;
1261
- };
1262
- type ArrayFilterOptions = {
1263
- /**
1264
- * Field to filter
1265
- */
1266
- field: string;
1267
- /**
1268
- * Value to filter
1269
- */
1270
- value: string;
1271
- /**
1272
- * Operator to use
1273
- */
1274
- operator: "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "in" | "nin";
1275
- };
1276
- type ArrayOptions<T> = {} & ArrayPaginationOptions;
1277
- type ArrayResult<T> = {
1278
- items: T[];
1279
- total: number;
1280
- page: number;
1281
- limit: number;
1282
- };
1283
-
1284
- type Endpoint<M extends Options["method"], Path extends string, Res, Body = undefined> = {
1285
- method: M;
1286
- path: Path;
1287
- res: Res;
1288
- body: Body;
1289
- };
1290
- type Endpoints = ApiKeyEndpoints | AuthEndpoints | CareerEndpoints | ChannelEndpoints | ChannelMessageEndpoints | CurrenciesEndpoints | FeedEndpoints | HealthEndpoints | OrderEndpoints | OrganizationEndpoints | ProfileEndpoints | UserEndpoints | WebhookEndpoints | NotificationEndpoints;
1291
1333
 
1292
1334
  interface APIRequestOptions extends Options {
1293
1335
  apiKey?: string;
@@ -1342,12 +1384,12 @@ declare class TonightPassAPIError<T> extends Error {
1342
1384
  readonly status: number;
1343
1385
  constructor(response: Response$1<APIResponse<T>>, data: ErroredAPIResponse);
1344
1386
  }
1345
- interface ClientOptions {
1387
+ type ClientOptions = {
1346
1388
  readonly baseURL: string;
1347
1389
  readonly apiKey?: string;
1348
1390
  readonly accessToken?: string;
1349
1391
  readonly cache?: CacheOptions;
1350
- }
1392
+ };
1351
1393
  declare class Client {
1352
1394
  private options;
1353
1395
  private apiKey?;
@@ -1370,13 +1412,6 @@ declare class Client {
1370
1412
  private requester;
1371
1413
  }
1372
1414
 
1373
- declare const OrganizationMemberRolePower: {
1374
- [key in OrganizationMemberRole]: number;
1375
- };
1376
- declare const UserRolePower: {
1377
- [key in UserRole]: number;
1378
- };
1379
-
1380
1415
  declare const apiKeys: (client: Client) => {
1381
1416
  getAll: () => Promise<ArrayResult<ApiKey>>;
1382
1417
  get: (apiKeyId: string) => Promise<ApiKey>;
@@ -1399,6 +1434,8 @@ declare const auth: (client: Client) => {
1399
1434
  };
1400
1435
  };
1401
1436
 
1437
+ declare function sdk<T>(builder: (client: Client) => T): (client: Client) => T;
1438
+
1402
1439
  declare const careers: (client: Client) => {
1403
1440
  categories: {
1404
1441
  getAll: (query?: Query<"/careers/categories">) => Promise<CareersCategory[]>;
@@ -1464,8 +1501,6 @@ declare const currencies: (client: Client) => {
1464
1501
  convertAmount: (from: Currency, to: Currency, amount: number) => Promise<CurrencyConversionResult>;
1465
1502
  };
1466
1503
 
1467
- declare function sdk<T>(builder: (client: Client) => T): (client: Client) => T;
1468
-
1469
1504
  declare const feed: (client: Client) => {
1470
1505
  getFollowing: (options?: ArrayOptions<FeedPost>) => Promise<ArrayResult<FeedPost>>;
1471
1506
  getDiscover: (options?: ArrayOptions<FeedPost>) => Promise<ArrayResult<FeedPost>>;
@@ -1478,6 +1513,10 @@ declare const health: (client: Client) => {
1478
1513
  app: () => Promise<Health<"app">>;
1479
1514
  };
1480
1515
 
1516
+ declare const notifications: (client: Client) => {
1517
+ registerToBeta: (email: string) => Promise<null>;
1518
+ };
1519
+
1481
1520
  declare const orders: (client: Client) => {
1482
1521
  getAll: (options?: ArrayOptions<Order>) => Promise<ArrayResult<Order>>;
1483
1522
  get: (orderId: string) => Promise<Order>;
@@ -1595,6 +1634,13 @@ declare const profiles: (client: Client) => {
1595
1634
  };
1596
1635
  };
1597
1636
 
1637
+ declare const roadmap: (client: Client) => {
1638
+ reactions: {
1639
+ get: (featureId: string) => Promise<RoadmapReactionCounts>;
1640
+ add: (featureId: string, reaction: RoadmapReaction) => Promise<RoadmapReactionCounts>;
1641
+ };
1642
+ };
1643
+
1598
1644
  declare const users: (client: Client) => {
1599
1645
  getAll: () => Promise<User[]>;
1600
1646
  get: (userId: string) => Promise<User>;
@@ -1648,10 +1694,6 @@ declare const users: (client: Client) => {
1648
1694
  };
1649
1695
  };
1650
1696
 
1651
- declare const notifications: (client: Client) => {
1652
- registerToBeta: (email: string) => Promise<null>;
1653
- };
1654
-
1655
1697
  declare class TonightPass {
1656
1698
  readonly client: Client;
1657
1699
  readonly apiKeys: {
@@ -1836,6 +1878,12 @@ declare class TonightPass {
1836
1878
  getFollowers: (username: string, options: ArrayOptions<UserIdentity | OrganizationIdentity>) => Promise<ArrayResult<UserProfile>>;
1837
1879
  };
1838
1880
  };
1881
+ readonly roadmap: {
1882
+ reactions: {
1883
+ get: (featureId: string) => Promise<RoadmapReactionCounts>;
1884
+ add: (featureId: string, reaction: RoadmapReaction) => Promise<RoadmapReactionCounts>;
1885
+ };
1886
+ };
1839
1887
  readonly users: {
1840
1888
  getAll: () => Promise<User[]>;
1841
1889
  get: (userId: string) => Promise<User>;
@@ -1941,21 +1989,21 @@ interface TypingStopEvent extends WebSocketEvent<{
1941
1989
  }
1942
1990
  type ChannelWebSocketEvent = ChannelMessageCreateEvent | ChannelMessageUpdateEvent | ChannelMessageDeleteEvent | ChannelUpdateEvent | ChannelDeleteEvent | ChannelMemberJoinEvent | ChannelMemberLeaveEvent | TypingStartEvent | TypingStopEvent;
1943
1991
 
1944
- interface WebSocketEvent<T = unknown> {
1992
+ type WebSocketEvent<T = unknown> = {
1945
1993
  type: string;
1946
1994
  data: T;
1947
- }
1948
- interface WebSocketConnectOptions {
1995
+ };
1996
+ type WebSocketConnectOptions = {
1949
1997
  token?: string;
1950
1998
  channelId?: string;
1951
1999
  organizationSlug?: string;
1952
- }
1953
- interface WebSocketClientOptions {
2000
+ };
2001
+ type WebSocketClientOptions = {
1954
2002
  baseURL: string;
1955
2003
  reconnectInterval?: number;
1956
2004
  maxReconnectAttempts?: number;
1957
2005
  debug?: boolean;
1958
- }
2006
+ };
1959
2007
 
1960
2008
  type GETEndpoints = Extract<Endpoints, {
1961
2009
  method: "GET";
@@ -1985,10 +2033,10 @@ type WebSocketOptionsFor<P extends WebSocketPaths> = Extract<WebSocketEndpoints,
1985
2033
  type WebSocketEventHandler<T> = (event: T) => void;
1986
2034
  declare class WebSocketClient {
1987
2035
  private ws?;
1988
- private options;
2036
+ private readonly options;
1989
2037
  private reconnectAttempts;
1990
2038
  private reconnectTimer?;
1991
- private eventHandlers;
2039
+ private readonly eventHandlers;
1992
2040
  private isConnected;
1993
2041
  private isReconnecting;
1994
2042
  constructor(options?: Partial<WebSocketClientOptions>);
@@ -2050,4 +2098,4 @@ declare function channelsWS(options?: Partial<WebSocketClientOptions>): {
2050
2098
  client: ChannelWebSocketClient;
2051
2099
  };
2052
2100
 
2053
- export { type APIRequestOptions, type APIResponse, AcceptOrganizationMemberInvitationDto, AddParticipantDto, AddReactionDto, type AnalyticsOptions, type ApiKey, type ApiKeyEndpoints, ApiKeyTier, type ArrayFilterOptions, type ArrayOptions, type ArrayPaginationOptions, type ArrayResult, type ArraySortOptions, AtLeastOneMedia, AtLeastOneMediaConstraint, AtLeastOneMediaOnUpdate, AtLeastOneMediaOnUpdateConstraint, type AuthEndpoints, type AuthMethod, type AuthResponse, type Base, BaseOrganizationEventDto, type BaseProfile, type BaseProfileMetadata, type Body, type CacheEntry, CacheManager, type CacheOptions, type CareerEndpoints, type CareersCategory, type CareersEmploymentType, type CareersJob, type CareersOffice, type Channel, type ChannelDeleteEvent, type ChannelEndpoints, type ChannelMember, type ChannelMemberJoinEvent, type ChannelMemberLeaveEvent, ChannelMemberRole, type ChannelMessage, type ChannelMessageCreateEvent, type ChannelMessageDeleteEvent, type ChannelMessageEndpoints, type ChannelMessageReaction, type ChannelMessageReadByEntry, ChannelMessageReportReason, type ChannelMessageUpdateEvent, type ChannelParticipant, ChannelStatus, ChannelType, type ChannelUpdateEvent, ChannelWebSocketClient, type ChannelWebSocketEvent, Client, type ClientOptions, ContentOrAttachmentsConstraint, type CreateApiKeyDto, CreateChannelDto, CreateChannelMessageDto, CreateLocationDto, CreateOrganizationDto, CreateOrganizationEventDto, type CreateOrganizationEventInput, CreateOrganizationEventOrderDto, CreateOrganizationEventStyleDto, CreateOrganizationEventTicketDto, type CreateOrganizationEventTicketInput, CreateOrganizationIdentityDto, CreateOrganizationMemberDto, CreateOrganizationMemberInvitationLinkDto, CreateUserDto, CreateUserIdentityDto, CreateUserPostCommentDto, CreateUserPostDto, CreateUserPostRepostDto, type CurrenciesEndpoints, Currency, type CurrencyConversion, type CurrencyConversionResult, DEFAULT_API_URL, type DeepPartial, type Distance, type Endpoint, type Endpoints, ErrorType, type ErroredAPIResponse, type EventAnalyticsOptions, type ExchangeRates, type ExcludeBase, type FeedEndpoints, type FeedPost, FeedType, type FileObject, type GeoPoint, GeoPointDto, type GeoSearchAggregation, GoogleOneTapDto, type Health, type HealthEndpoints, Language, type Location$1 as Location, type NotificationEndpoints, OAuth2Provider, type Order, type OrderEndpoints, type Organization, type OrganizationAnalyticsEndpoints, type OrganizationAnalyticsOverview, type OrganizationBilling, type OrganizationBillingAccount, type OrganizationCustomer, type OrganizationCustomerMetadata, type OrganizationCustomersEndpoints, type OrganizationEndpoints, type OrganizationEvent, type OrganizationEventAnalytics, type OrganizationEventArrayOptions, type OrganizationEventCalendar, type OrganizationEventEndpoints, OrganizationEventFileType, type OrganizationEventOrderEndpoints, OrganizationEventStatus, type OrganizationEventStyle, type OrganizationEventStyleEndpoints, OrganizationEventStyleType, type OrganizationEventTicket, OrganizationEventTicketCategory, type OrganizationEventTicketEndpoints, OrganizationEventTicketType, OrganizationEventType, OrganizationEventVisibilityType, OrganizationFileType, type OrganizationIdentity, type OrganizationMember, OrganizationMemberRole, OrganizationMemberRolePower, OrganizationMemberStatus, type OrganizationMembersEndpoints, type OrganizationOrder, type OrganizationOrdersEndpoints, type OrganizationProfile, type OrganizationProfileMetadata, type OrganizationToken, OrganizationTokenType, type PathsFor, type Profile, type ProfileEndpoints, type ProfileMetadata, ProfileType, type PromisedAPIResponse, type PromisedResponse, type QueryParams, REGEX, RecoveryDto, RecoveryResetDto, type RecoveryResponse, ReportChannelMessageDto, type Response, type ResponseFor, type SearchOrganizationEventsOptions, type SearchProfilesOptions, SignInUserDto, type StringifiedQuery, type StringifiedQueryValue, type SuccessfulAPIResponse, TonightPass, TonightPassAPIError, type TypingStartEvent, type TypingStopEvent, type UpdateApiKeyDto, UpdateChannelDto, UpdateChannelMessageDto, UpdateLocationDto, UpdateOrganizationDto, UpdateOrganizationEventDto, UpdateOrganizationEventStyleDto, UpdateOrganizationEventTicketDto, UpdateOrganizationIdentityDto, UpdateOrganizationMemberDto, UpdateUserDto, UpdateUserPostCommentDto, UpdateUserPostDto, type User, type UserBooking, type UserBookingEndpoints, type UserBookingTicket, type UserBookingTicketEndpoints, type UserBookingWithoutTickets, type UserChannelCountOptions, type UserConnection, type UserConnectionClient, type UserConnectionDevice, type UserConnectionOS, type UserCustomer, type UserCustomerMetadata, type UserEndpoints, UserFileType, type UserIdentifier, type UserIdentity, UserIdentityGender, type UserNotification, type UserNotificationBase, type UserNotificationEndpoints, type UserNotificationFollow, UserNotificationType, type UserOAuthProvider, type UserPost, type UserPostComment, type UserPostCommentEndpoints, type UserPostEndpoints, type UserPostMedia, type UserPostMediaEndpoints, UserPostMediaType, type UserPostRepost, type UserPostRepostEndpoints, type UserPostViewEndpoints, UserPostVisibility, type UserPreferences, type UserProfile, type UserProfileMetadata, UserRole, UserRolePower, type UserToken, UserTokenType, WebSocketClient, type WebSocketClientOptions, type WebSocketConnectOptions, type WebSocketEndpoint, type WebSocketEndpoints, type WebSocketEvent, type WebSocketEventHandler, type WebSocketOptionsFor, type WebSocketPath, type WebSocketPaths, type WebSocketPathsFor, type WebhookEndpoints, apiKeys, auth, buildFileFormData, careers, channels, channelsWS, currencies, feed, health, isBrowser, isMemberRoleAtLeast, notifications, orders, organizations, profiles, request, sdk, users };
2101
+ export { type APIRequestOptions, type APIResponse, AcceptOrganizationMemberInvitationDto, AddParticipantDto, AddReactionDto, type AddRoadmapReactionBody, type AnalyticsOptions, type ApiKey, type ApiKeyEndpoints, ApiKeyTier, type ArrayFilterOptions, type ArrayOptions, type ArrayPaginationOptions, type ArrayResult, type ArraySortOptions, AtLeastOneMedia, AtLeastOneMediaConstraint, AtLeastOneMediaOnUpdate, AtLeastOneMediaOnUpdateConstraint, type AuthEndpoints, type AuthMethod, type AuthResponse, type Base, BaseOrganizationEventDto, type BaseProfile, type BaseProfileMetadata, type Body, type CacheEntry, CacheManager, type CacheOptions, type CareerEndpoints, type CareersCategory, type CareersEmploymentType, type CareersJob, type CareersOffice, type Channel, type ChannelDeleteEvent, type ChannelEndpoints, type ChannelMember, type ChannelMemberJoinEvent, type ChannelMemberLeaveEvent, ChannelMemberRole, type ChannelMessage, type ChannelMessageCreateEvent, type ChannelMessageDeleteEvent, type ChannelMessageEndpoints, type ChannelMessageReaction, type ChannelMessageReadByEntry, ChannelMessageReportReason, type ChannelMessageUpdateEvent, type ChannelParticipant, ChannelStatus, ChannelType, type ChannelUpdateEvent, ChannelWebSocketClient, type ChannelWebSocketEvent, Client, type ClientOptions, ContentOrAttachmentsConstraint, type CreateApiKeyDto, CreateChannelDto, CreateChannelMessageDto, CreateLocationDto, CreateOrganizationDto, CreateOrganizationEventDto, type CreateOrganizationEventInput, CreateOrganizationEventOrderDto, CreateOrganizationEventStyleDto, CreateOrganizationEventTicketDto, type CreateOrganizationEventTicketInput, CreateOrganizationIdentityDto, CreateOrganizationMemberDto, CreateOrganizationMemberInvitationLinkDto, CreateUserDto, CreateUserIdentityDto, CreateUserPostCommentDto, CreateUserPostDto, CreateUserPostRepostDto, type CurrenciesEndpoints, Currency, type CurrencyConversion, type CurrencyConversionResult, DEFAULT_API_URL, type DeepPartial, type Distance, type Endpoint, type Endpoints, ErrorType, type ErroredAPIResponse, type EventAnalyticsOptions, type ExchangeRates, type ExcludeBase, type FeedEndpoints, type FeedPost, FeedType, type FileObject, type GeoPoint, GeoPointDto, type GeoSearchAggregation, GoogleOneTapDto, type Health, type HealthEndpoints, Language, type Location$1 as Location, type NotificationEndpoints, OAuth2Provider, type Order, type OrderEndpoints, type Organization, type OrganizationAnalyticsEndpoints, type OrganizationAnalyticsOverview, type OrganizationBilling, type OrganizationBillingAccount, type OrganizationCustomer, type OrganizationCustomerMetadata, type OrganizationCustomersEndpoints, type OrganizationEndpoints, type OrganizationEvent, type OrganizationEventAnalytics, type OrganizationEventArrayOptions, type OrganizationEventCalendar, type OrganizationEventEndpoints, OrganizationEventFileType, type OrganizationEventOrderEndpoints, OrganizationEventStatus, type OrganizationEventStyle, type OrganizationEventStyleEndpoints, OrganizationEventStyleType, type OrganizationEventTicket, OrganizationEventTicketCategory, type OrganizationEventTicketEndpoints, OrganizationEventTicketType, OrganizationEventType, OrganizationEventVisibilityType, OrganizationFileType, type OrganizationIdentity, type OrganizationMember, OrganizationMemberRole, OrganizationMemberRolePower, OrganizationMemberStatus, type OrganizationMembersEndpoints, type OrganizationOrder, type OrganizationOrdersEndpoints, type OrganizationProfile, type OrganizationProfileMetadata, type OrganizationToken, OrganizationTokenType, type PathsFor, type Profile, type ProfileEndpoints, type ProfileMetadata, ProfileType, type PromisedAPIResponse, type PromisedResponse, type QueryParams, REGEX, ROADMAP_REACTIONS, RecoveryDto, RecoveryResetDto, type RecoveryResponse, ReportChannelMessageDto, type Response, type ResponseFor, type RoadmapEndpoints, type RoadmapFeature, RoadmapFeatureStatus, type RoadmapReaction, type RoadmapReactionCounts, type SearchOrganizationEventsOptions, type SearchProfilesOptions, SignInUserDto, type StringifiedQuery, type StringifiedQueryValue, type SuccessfulAPIResponse, TonightPass, TonightPassAPIError, type TypingStartEvent, type TypingStopEvent, type UpdateApiKeyDto, UpdateChannelDto, UpdateChannelMessageDto, UpdateLocationDto, UpdateOrganizationDto, UpdateOrganizationEventDto, UpdateOrganizationEventStyleDto, UpdateOrganizationEventTicketDto, UpdateOrganizationIdentityDto, UpdateOrganizationMemberDto, UpdateUserDto, UpdateUserPostCommentDto, UpdateUserPostDto, type User, type UserBooking, type UserBookingEndpoints, type UserBookingTicket, type UserBookingTicketEndpoints, type UserBookingWithoutTickets, type UserChannelCountOptions, type UserConnection, type UserConnectionClient, type UserConnectionDevice, type UserConnectionOS, type UserCustomer, type UserCustomerMetadata, type UserEndpoints, UserFileType, type UserIdentifier, type UserIdentity, UserIdentityGender, type UserNotification, type UserNotificationBase, type UserNotificationEndpoints, type UserNotificationFollow, UserNotificationType, type UserOAuthProvider, type UserPost, type UserPostComment, type UserPostCommentEndpoints, type UserPostEndpoints, type UserPostMedia, type UserPostMediaEndpoints, UserPostMediaType, type UserPostRepost, type UserPostRepostEndpoints, type UserPostViewEndpoints, UserPostVisibility, type UserPreferences, type UserProfile, type UserProfileMetadata, UserRole, UserRolePower, type UserToken, UserTokenType, WebSocketClient, type WebSocketClientOptions, type WebSocketConnectOptions, type WebSocketEndpoint, type WebSocketEndpoints, type WebSocketEvent, type WebSocketEventHandler, type WebSocketOptionsFor, type WebSocketPath, type WebSocketPaths, type WebSocketPathsFor, type WebhookEndpoints, apiKeys, auth, buildFileFormData, careers, channels, channelsWS, currencies, feed, health, isBrowser, isMemberRoleAtLeast, notifications, orders, organizations, profiles, request, roadmap, sdk, users };