@groovenet/client 1.0.0

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.
@@ -0,0 +1,1839 @@
1
+ import { z } from "zod";
2
+ export declare const intFromInputSchema: z.ZodEffects<z.ZodNumber, number, unknown>;
3
+ export declare const nonNegativeIntFromInputSchema: z.ZodEffects<z.ZodNumber, number, unknown>;
4
+ export declare const playlistTrackInputSchema: z.ZodObject<{
5
+ track_id: z.ZodString;
6
+ friend_id: z.ZodOptional<z.ZodNumber>;
7
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
8
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
9
+ artist: z.ZodOptional<z.ZodNullable<z.ZodString>>;
10
+ album: z.ZodOptional<z.ZodNullable<z.ZodString>>;
11
+ year: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
12
+ styles: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
13
+ genres: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
14
+ duration: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ duration_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
16
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
17
+ discogs_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
18
+ apple_music_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
+ youtube_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
20
+ spotify_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
21
+ soundcloud_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
22
+ album_thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
23
+ local_tags: z.ZodOptional<z.ZodNullable<z.ZodString>>;
24
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
25
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
26
+ danceability: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
27
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
28
+ star_rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
29
+ release_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
30
+ mood_happy: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
31
+ mood_sad: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
32
+ mood_relaxed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
33
+ mood_aggressive: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
34
+ local_audio_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
35
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
36
+ track_id: z.ZodString;
37
+ friend_id: z.ZodOptional<z.ZodNumber>;
38
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
39
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
40
+ artist: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
+ album: z.ZodOptional<z.ZodNullable<z.ZodString>>;
42
+ year: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
43
+ styles: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
44
+ genres: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
45
+ duration: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
+ duration_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
47
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
48
+ discogs_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
49
+ apple_music_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
50
+ youtube_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
51
+ spotify_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
52
+ soundcloud_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ album_thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
54
+ local_tags: z.ZodOptional<z.ZodNullable<z.ZodString>>;
55
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
56
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
57
+ danceability: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
58
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
59
+ star_rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
60
+ release_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ mood_happy: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
62
+ mood_sad: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
63
+ mood_relaxed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
64
+ mood_aggressive: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
65
+ local_audio_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
66
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
67
+ track_id: z.ZodString;
68
+ friend_id: z.ZodOptional<z.ZodNumber>;
69
+ username: z.ZodOptional<z.ZodNullable<z.ZodString>>;
70
+ title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
71
+ artist: z.ZodOptional<z.ZodNullable<z.ZodString>>;
72
+ album: z.ZodOptional<z.ZodNullable<z.ZodString>>;
73
+ year: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
74
+ styles: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
75
+ genres: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString, "many">>>;
76
+ duration: z.ZodOptional<z.ZodNullable<z.ZodString>>;
77
+ duration_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
78
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
79
+ discogs_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
80
+ apple_music_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
81
+ youtube_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
82
+ spotify_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
83
+ soundcloud_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
84
+ album_thumbnail: z.ZodOptional<z.ZodNullable<z.ZodString>>;
85
+ local_tags: z.ZodOptional<z.ZodNullable<z.ZodString>>;
86
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
87
+ key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
88
+ danceability: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
89
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
90
+ star_rating: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
91
+ release_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
92
+ mood_happy: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
93
+ mood_sad: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
94
+ mood_relaxed: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
95
+ mood_aggressive: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
96
+ local_audio_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
+ }, z.ZodTypeAny, "passthrough">>;
98
+ export type PlaylistTrackInput = z.infer<typeof playlistTrackInputSchema>;
99
+ export declare const trackEntitySchema: z.ZodObject<{
100
+ track_id: z.ZodString;
101
+ friend_id: z.ZodNumber;
102
+ title: z.ZodString;
103
+ artist: z.ZodString;
104
+ album: z.ZodString;
105
+ year: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
106
+ duration: z.ZodOptional<z.ZodString>;
107
+ duration_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
108
+ position: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
109
+ release_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
110
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
111
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
112
+ track_id: z.ZodString;
113
+ friend_id: z.ZodNumber;
114
+ title: z.ZodString;
115
+ artist: z.ZodString;
116
+ album: z.ZodString;
117
+ year: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
118
+ duration: z.ZodOptional<z.ZodString>;
119
+ duration_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
120
+ position: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
121
+ release_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
122
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
123
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
124
+ track_id: z.ZodString;
125
+ friend_id: z.ZodNumber;
126
+ title: z.ZodString;
127
+ artist: z.ZodString;
128
+ album: z.ZodString;
129
+ year: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
130
+ duration: z.ZodOptional<z.ZodString>;
131
+ duration_seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
132
+ position: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
133
+ release_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
135
+ }, z.ZodTypeAny, "passthrough">>;
136
+ export declare const trackSearchGetQuerySchema: z.ZodObject<{
137
+ q: z.ZodDefault<z.ZodOptional<z.ZodString>>;
138
+ limit: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>>;
139
+ offset: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>>;
140
+ filter: z.ZodOptional<z.ZodString>;
141
+ }, "strip", z.ZodTypeAny, {
142
+ limit: number;
143
+ offset: number;
144
+ q: string;
145
+ filter?: string | undefined;
146
+ }, {
147
+ limit?: unknown;
148
+ offset?: unknown;
149
+ q?: string | undefined;
150
+ filter?: string | undefined;
151
+ }>;
152
+ export declare const trackSearchGetResponseSchema: z.ZodObject<{
153
+ estimatedTotalHits: z.ZodNumber;
154
+ offset: z.ZodNumber;
155
+ limit: z.ZodNumber;
156
+ processingTimeMs: z.ZodNumber;
157
+ hits: z.ZodArray<z.ZodUnknown, "many">;
158
+ }, "strip", z.ZodTypeAny, {
159
+ limit: number;
160
+ offset: number;
161
+ estimatedTotalHits: number;
162
+ processingTimeMs: number;
163
+ hits: unknown[];
164
+ }, {
165
+ limit: number;
166
+ offset: number;
167
+ estimatedTotalHits: number;
168
+ processingTimeMs: number;
169
+ hits: unknown[];
170
+ }>;
171
+ export declare const playlistGeneticBodySchema: z.ZodObject<{
172
+ playlist: z.ZodArray<z.ZodObject<{
173
+ track_id: z.ZodString;
174
+ friend_id: z.ZodOptional<z.ZodNumber>;
175
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
176
+ embedding: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>>;
177
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
178
+ track_id: z.ZodString;
179
+ friend_id: z.ZodOptional<z.ZodNumber>;
180
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
181
+ embedding: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>>;
182
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
183
+ track_id: z.ZodString;
184
+ friend_id: z.ZodOptional<z.ZodNumber>;
185
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
186
+ embedding: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>>;
187
+ }, z.ZodTypeAny, "passthrough">>, "many">;
188
+ }, "strip", z.ZodTypeAny, {
189
+ playlist: z.objectOutputType<{
190
+ track_id: z.ZodString;
191
+ friend_id: z.ZodOptional<z.ZodNumber>;
192
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
193
+ embedding: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>>;
194
+ }, z.ZodTypeAny, "passthrough">[];
195
+ }, {
196
+ playlist: z.objectInputType<{
197
+ track_id: z.ZodString;
198
+ friend_id: z.ZodOptional<z.ZodNumber>;
199
+ bpm: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>>;
200
+ embedding: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodNumber, "many">]>>>;
201
+ }, z.ZodTypeAny, "passthrough">[];
202
+ }>;
203
+ export declare const playlistGeneticResponseSchema: z.ZodObject<{
204
+ result: z.ZodUnion<[z.ZodArray<z.ZodObject<{
205
+ track_id: z.ZodString;
206
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
207
+ track_id: z.ZodString;
208
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
209
+ track_id: z.ZodString;
210
+ }, z.ZodTypeAny, "passthrough">>, "many">, z.ZodRecord<z.ZodString, z.ZodObject<{
211
+ track_id: z.ZodString;
212
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
213
+ track_id: z.ZodString;
214
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
215
+ track_id: z.ZodString;
216
+ }, z.ZodTypeAny, "passthrough">>>]>;
217
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
218
+ result: z.ZodUnion<[z.ZodArray<z.ZodObject<{
219
+ track_id: z.ZodString;
220
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
221
+ track_id: z.ZodString;
222
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
223
+ track_id: z.ZodString;
224
+ }, z.ZodTypeAny, "passthrough">>, "many">, z.ZodRecord<z.ZodString, z.ZodObject<{
225
+ track_id: z.ZodString;
226
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
227
+ track_id: z.ZodString;
228
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
229
+ track_id: z.ZodString;
230
+ }, z.ZodTypeAny, "passthrough">>>]>;
231
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
232
+ result: z.ZodUnion<[z.ZodArray<z.ZodObject<{
233
+ track_id: z.ZodString;
234
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
235
+ track_id: z.ZodString;
236
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
237
+ track_id: z.ZodString;
238
+ }, z.ZodTypeAny, "passthrough">>, "many">, z.ZodRecord<z.ZodString, z.ZodObject<{
239
+ track_id: z.ZodString;
240
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
241
+ track_id: z.ZodString;
242
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
243
+ track_id: z.ZodString;
244
+ }, z.ZodTypeAny, "passthrough">>>]>;
245
+ }, z.ZodTypeAny, "passthrough">>;
246
+ export declare const jobInfoSchema: z.ZodObject<{
247
+ id: z.ZodString;
248
+ name: z.ZodString;
249
+ state: z.ZodEnum<["waiting", "active", "completed", "failed"]>;
250
+ progress: z.ZodNumber;
251
+ data: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
252
+ returnvalue: z.ZodOptional<z.ZodUnknown>;
253
+ finishedOn: z.ZodOptional<z.ZodNumber>;
254
+ failedReason: z.ZodOptional<z.ZodString>;
255
+ attemptsMade: z.ZodNumber;
256
+ processedOn: z.ZodOptional<z.ZodNumber>;
257
+ queue: z.ZodString;
258
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
259
+ id: z.ZodString;
260
+ name: z.ZodString;
261
+ state: z.ZodEnum<["waiting", "active", "completed", "failed"]>;
262
+ progress: z.ZodNumber;
263
+ data: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
264
+ returnvalue: z.ZodOptional<z.ZodUnknown>;
265
+ finishedOn: z.ZodOptional<z.ZodNumber>;
266
+ failedReason: z.ZodOptional<z.ZodString>;
267
+ attemptsMade: z.ZodNumber;
268
+ processedOn: z.ZodOptional<z.ZodNumber>;
269
+ queue: z.ZodString;
270
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
271
+ id: z.ZodString;
272
+ name: z.ZodString;
273
+ state: z.ZodEnum<["waiting", "active", "completed", "failed"]>;
274
+ progress: z.ZodNumber;
275
+ data: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
276
+ returnvalue: z.ZodOptional<z.ZodUnknown>;
277
+ finishedOn: z.ZodOptional<z.ZodNumber>;
278
+ failedReason: z.ZodOptional<z.ZodString>;
279
+ attemptsMade: z.ZodNumber;
280
+ processedOn: z.ZodOptional<z.ZodNumber>;
281
+ queue: z.ZodString;
282
+ }, z.ZodTypeAny, "passthrough">>;
283
+ export declare const localPlaybackControlBodySchema: z.ZodObject<{
284
+ action: z.ZodEnum<["play", "pause", "resume", "stop", "seek", "volume"]>;
285
+ filename: z.ZodOptional<z.ZodString>;
286
+ seconds: z.ZodOptional<z.ZodNumber>;
287
+ volume: z.ZodOptional<z.ZodNumber>;
288
+ }, "strip", z.ZodTypeAny, {
289
+ action: "play" | "pause" | "resume" | "stop" | "seek" | "volume";
290
+ volume?: number | undefined;
291
+ filename?: string | undefined;
292
+ seconds?: number | undefined;
293
+ }, {
294
+ action: "play" | "pause" | "resume" | "stop" | "seek" | "volume";
295
+ volume?: number | undefined;
296
+ filename?: string | undefined;
297
+ seconds?: number | undefined;
298
+ }>;
299
+ export declare const localPlaybackControlResponseSchema: z.ZodObject<{
300
+ success: z.ZodBoolean;
301
+ status: z.ZodOptional<z.ZodUnknown>;
302
+ volume: z.ZodOptional<z.ZodNumber>;
303
+ }, "strip", z.ZodTypeAny, {
304
+ success: boolean;
305
+ status?: unknown;
306
+ volume?: number | undefined;
307
+ }, {
308
+ success: boolean;
309
+ status?: unknown;
310
+ volume?: number | undefined;
311
+ }>;
312
+ export declare const localPlaybackStatusResponseSchema: z.ZodObject<{
313
+ enabled: z.ZodBoolean;
314
+ status: z.ZodUnknown;
315
+ }, "strip", z.ZodTypeAny, {
316
+ enabled: boolean;
317
+ status?: unknown;
318
+ }, {
319
+ enabled: boolean;
320
+ status?: unknown;
321
+ }>;
322
+ export declare const albumEntitySchema: z.ZodObject<{
323
+ release_id: z.ZodString;
324
+ friend_id: z.ZodNumber;
325
+ username: z.ZodOptional<z.ZodString>;
326
+ title: z.ZodString;
327
+ artist: z.ZodString;
328
+ year: z.ZodOptional<z.ZodString>;
329
+ genres: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
330
+ styles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
331
+ album_thumbnail: z.ZodOptional<z.ZodString>;
332
+ audio_file_album_art_url: z.ZodOptional<z.ZodString>;
333
+ discogs_url: z.ZodOptional<z.ZodString>;
334
+ date_added: z.ZodOptional<z.ZodString>;
335
+ date_changed: z.ZodOptional<z.ZodString>;
336
+ track_count: z.ZodNumber;
337
+ album_rating: z.ZodOptional<z.ZodNumber>;
338
+ album_notes: z.ZodOptional<z.ZodString>;
339
+ purchase_price: z.ZodOptional<z.ZodNumber>;
340
+ condition: z.ZodOptional<z.ZodString>;
341
+ label: z.ZodOptional<z.ZodString>;
342
+ catalog_number: z.ZodOptional<z.ZodString>;
343
+ country: z.ZodOptional<z.ZodString>;
344
+ format: z.ZodOptional<z.ZodString>;
345
+ created_at: z.ZodOptional<z.ZodString>;
346
+ updated_at: z.ZodOptional<z.ZodString>;
347
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
348
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
349
+ release_id: z.ZodString;
350
+ friend_id: z.ZodNumber;
351
+ username: z.ZodOptional<z.ZodString>;
352
+ title: z.ZodString;
353
+ artist: z.ZodString;
354
+ year: z.ZodOptional<z.ZodString>;
355
+ genres: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
356
+ styles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
357
+ album_thumbnail: z.ZodOptional<z.ZodString>;
358
+ audio_file_album_art_url: z.ZodOptional<z.ZodString>;
359
+ discogs_url: z.ZodOptional<z.ZodString>;
360
+ date_added: z.ZodOptional<z.ZodString>;
361
+ date_changed: z.ZodOptional<z.ZodString>;
362
+ track_count: z.ZodNumber;
363
+ album_rating: z.ZodOptional<z.ZodNumber>;
364
+ album_notes: z.ZodOptional<z.ZodString>;
365
+ purchase_price: z.ZodOptional<z.ZodNumber>;
366
+ condition: z.ZodOptional<z.ZodString>;
367
+ label: z.ZodOptional<z.ZodString>;
368
+ catalog_number: z.ZodOptional<z.ZodString>;
369
+ country: z.ZodOptional<z.ZodString>;
370
+ format: z.ZodOptional<z.ZodString>;
371
+ created_at: z.ZodOptional<z.ZodString>;
372
+ updated_at: z.ZodOptional<z.ZodString>;
373
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
374
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
375
+ release_id: z.ZodString;
376
+ friend_id: z.ZodNumber;
377
+ username: z.ZodOptional<z.ZodString>;
378
+ title: z.ZodString;
379
+ artist: z.ZodString;
380
+ year: z.ZodOptional<z.ZodString>;
381
+ genres: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
382
+ styles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
383
+ album_thumbnail: z.ZodOptional<z.ZodString>;
384
+ audio_file_album_art_url: z.ZodOptional<z.ZodString>;
385
+ discogs_url: z.ZodOptional<z.ZodString>;
386
+ date_added: z.ZodOptional<z.ZodString>;
387
+ date_changed: z.ZodOptional<z.ZodString>;
388
+ track_count: z.ZodNumber;
389
+ album_rating: z.ZodOptional<z.ZodNumber>;
390
+ album_notes: z.ZodOptional<z.ZodString>;
391
+ purchase_price: z.ZodOptional<z.ZodNumber>;
392
+ condition: z.ZodOptional<z.ZodString>;
393
+ label: z.ZodOptional<z.ZodString>;
394
+ catalog_number: z.ZodOptional<z.ZodString>;
395
+ country: z.ZodOptional<z.ZodString>;
396
+ format: z.ZodOptional<z.ZodString>;
397
+ created_at: z.ZodOptional<z.ZodString>;
398
+ updated_at: z.ZodOptional<z.ZodString>;
399
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
400
+ }, z.ZodTypeAny, "passthrough">>;
401
+ export declare const albumPlayableStructureTrackSchema: z.ZodObject<{
402
+ track_id: z.ZodString;
403
+ friend_id: z.ZodNumber;
404
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
405
+ title: z.ZodString;
406
+ artist: z.ZodString;
407
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
408
+ track_id: z.ZodString;
409
+ friend_id: z.ZodNumber;
410
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
411
+ title: z.ZodString;
412
+ artist: z.ZodString;
413
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
414
+ track_id: z.ZodString;
415
+ friend_id: z.ZodNumber;
416
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
417
+ title: z.ZodString;
418
+ artist: z.ZodString;
419
+ }, z.ZodTypeAny, "passthrough">>;
420
+ export declare const albumPlayableStructureSideSchema: z.ZodObject<{
421
+ side_key: z.ZodString;
422
+ side_label: z.ZodString;
423
+ ordinal: z.ZodNumber;
424
+ track_count: z.ZodNumber;
425
+ tracks: z.ZodArray<z.ZodObject<{
426
+ track_id: z.ZodString;
427
+ friend_id: z.ZodNumber;
428
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
429
+ title: z.ZodString;
430
+ artist: z.ZodString;
431
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
432
+ track_id: z.ZodString;
433
+ friend_id: z.ZodNumber;
434
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
435
+ title: z.ZodString;
436
+ artist: z.ZodString;
437
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
438
+ track_id: z.ZodString;
439
+ friend_id: z.ZodNumber;
440
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
441
+ title: z.ZodString;
442
+ artist: z.ZodString;
443
+ }, z.ZodTypeAny, "passthrough">>, "many">;
444
+ }, "strip", z.ZodTypeAny, {
445
+ tracks: z.objectOutputType<{
446
+ track_id: z.ZodString;
447
+ friend_id: z.ZodNumber;
448
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
449
+ title: z.ZodString;
450
+ artist: z.ZodString;
451
+ }, z.ZodTypeAny, "passthrough">[];
452
+ track_count: number;
453
+ side_key: string;
454
+ side_label: string;
455
+ ordinal: number;
456
+ }, {
457
+ tracks: z.objectInputType<{
458
+ track_id: z.ZodString;
459
+ friend_id: z.ZodNumber;
460
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
461
+ title: z.ZodString;
462
+ artist: z.ZodString;
463
+ }, z.ZodTypeAny, "passthrough">[];
464
+ track_count: number;
465
+ side_key: string;
466
+ side_label: string;
467
+ ordinal: number;
468
+ }>;
469
+ export declare const albumPlayableStructureResponseSchema: z.ZodObject<{
470
+ album: z.ZodObject<{
471
+ release_id: z.ZodString;
472
+ friend_id: z.ZodNumber;
473
+ username: z.ZodOptional<z.ZodString>;
474
+ title: z.ZodString;
475
+ artist: z.ZodString;
476
+ year: z.ZodOptional<z.ZodString>;
477
+ genres: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
478
+ styles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
479
+ album_thumbnail: z.ZodOptional<z.ZodString>;
480
+ audio_file_album_art_url: z.ZodOptional<z.ZodString>;
481
+ discogs_url: z.ZodOptional<z.ZodString>;
482
+ date_added: z.ZodOptional<z.ZodString>;
483
+ date_changed: z.ZodOptional<z.ZodString>;
484
+ track_count: z.ZodNumber;
485
+ album_rating: z.ZodOptional<z.ZodNumber>;
486
+ album_notes: z.ZodOptional<z.ZodString>;
487
+ purchase_price: z.ZodOptional<z.ZodNumber>;
488
+ condition: z.ZodOptional<z.ZodString>;
489
+ label: z.ZodOptional<z.ZodString>;
490
+ catalog_number: z.ZodOptional<z.ZodString>;
491
+ country: z.ZodOptional<z.ZodString>;
492
+ format: z.ZodOptional<z.ZodString>;
493
+ created_at: z.ZodOptional<z.ZodString>;
494
+ updated_at: z.ZodOptional<z.ZodString>;
495
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
496
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
497
+ release_id: z.ZodString;
498
+ friend_id: z.ZodNumber;
499
+ username: z.ZodOptional<z.ZodString>;
500
+ title: z.ZodString;
501
+ artist: z.ZodString;
502
+ year: z.ZodOptional<z.ZodString>;
503
+ genres: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
504
+ styles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
505
+ album_thumbnail: z.ZodOptional<z.ZodString>;
506
+ audio_file_album_art_url: z.ZodOptional<z.ZodString>;
507
+ discogs_url: z.ZodOptional<z.ZodString>;
508
+ date_added: z.ZodOptional<z.ZodString>;
509
+ date_changed: z.ZodOptional<z.ZodString>;
510
+ track_count: z.ZodNumber;
511
+ album_rating: z.ZodOptional<z.ZodNumber>;
512
+ album_notes: z.ZodOptional<z.ZodString>;
513
+ purchase_price: z.ZodOptional<z.ZodNumber>;
514
+ condition: z.ZodOptional<z.ZodString>;
515
+ label: z.ZodOptional<z.ZodString>;
516
+ catalog_number: z.ZodOptional<z.ZodString>;
517
+ country: z.ZodOptional<z.ZodString>;
518
+ format: z.ZodOptional<z.ZodString>;
519
+ created_at: z.ZodOptional<z.ZodString>;
520
+ updated_at: z.ZodOptional<z.ZodString>;
521
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
522
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
523
+ release_id: z.ZodString;
524
+ friend_id: z.ZodNumber;
525
+ username: z.ZodOptional<z.ZodString>;
526
+ title: z.ZodString;
527
+ artist: z.ZodString;
528
+ year: z.ZodOptional<z.ZodString>;
529
+ genres: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
530
+ styles: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
531
+ album_thumbnail: z.ZodOptional<z.ZodString>;
532
+ audio_file_album_art_url: z.ZodOptional<z.ZodString>;
533
+ discogs_url: z.ZodOptional<z.ZodString>;
534
+ date_added: z.ZodOptional<z.ZodString>;
535
+ date_changed: z.ZodOptional<z.ZodString>;
536
+ track_count: z.ZodNumber;
537
+ album_rating: z.ZodOptional<z.ZodNumber>;
538
+ album_notes: z.ZodOptional<z.ZodString>;
539
+ purchase_price: z.ZodOptional<z.ZodNumber>;
540
+ condition: z.ZodOptional<z.ZodString>;
541
+ label: z.ZodOptional<z.ZodString>;
542
+ catalog_number: z.ZodOptional<z.ZodString>;
543
+ country: z.ZodOptional<z.ZodString>;
544
+ format: z.ZodOptional<z.ZodString>;
545
+ created_at: z.ZodOptional<z.ZodString>;
546
+ updated_at: z.ZodOptional<z.ZodString>;
547
+ library_identifier: z.ZodOptional<z.ZodNullable<z.ZodString>>;
548
+ }, z.ZodTypeAny, "passthrough">>;
549
+ sides: z.ZodArray<z.ZodObject<{
550
+ side_key: z.ZodString;
551
+ side_label: z.ZodString;
552
+ ordinal: z.ZodNumber;
553
+ track_count: z.ZodNumber;
554
+ tracks: z.ZodArray<z.ZodObject<{
555
+ track_id: z.ZodString;
556
+ friend_id: z.ZodNumber;
557
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
558
+ title: z.ZodString;
559
+ artist: z.ZodString;
560
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
561
+ track_id: z.ZodString;
562
+ friend_id: z.ZodNumber;
563
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
564
+ title: z.ZodString;
565
+ artist: z.ZodString;
566
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
567
+ track_id: z.ZodString;
568
+ friend_id: z.ZodNumber;
569
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
570
+ title: z.ZodString;
571
+ artist: z.ZodString;
572
+ }, z.ZodTypeAny, "passthrough">>, "many">;
573
+ }, "strip", z.ZodTypeAny, {
574
+ tracks: z.objectOutputType<{
575
+ track_id: z.ZodString;
576
+ friend_id: z.ZodNumber;
577
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
578
+ title: z.ZodString;
579
+ artist: z.ZodString;
580
+ }, z.ZodTypeAny, "passthrough">[];
581
+ track_count: number;
582
+ side_key: string;
583
+ side_label: string;
584
+ ordinal: number;
585
+ }, {
586
+ tracks: z.objectInputType<{
587
+ track_id: z.ZodString;
588
+ friend_id: z.ZodNumber;
589
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
590
+ title: z.ZodString;
591
+ artist: z.ZodString;
592
+ }, z.ZodTypeAny, "passthrough">[];
593
+ track_count: number;
594
+ side_key: string;
595
+ side_label: string;
596
+ ordinal: number;
597
+ }>, "many">;
598
+ }, "strip", z.ZodTypeAny, {
599
+ sides: {
600
+ tracks: z.objectOutputType<{
601
+ track_id: z.ZodString;
602
+ friend_id: z.ZodNumber;
603
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
604
+ title: z.ZodString;
605
+ artist: z.ZodString;
606
+ }, z.ZodTypeAny, "passthrough">[];
607
+ track_count: number;
608
+ side_key: string;
609
+ side_label: string;
610
+ ordinal: number;
611
+ }[];
612
+ album: {
613
+ friend_id: number;
614
+ title: string;
615
+ artist: string;
616
+ release_id: string;
617
+ track_count: number;
618
+ country?: string | undefined;
619
+ username?: string | undefined;
620
+ year?: string | undefined;
621
+ styles?: string[] | undefined;
622
+ genres?: string[] | undefined;
623
+ discogs_url?: string | undefined;
624
+ album_thumbnail?: string | undefined;
625
+ library_identifier?: string | null | undefined;
626
+ audio_file_album_art_url?: string | undefined;
627
+ date_added?: string | undefined;
628
+ date_changed?: string | undefined;
629
+ album_rating?: number | undefined;
630
+ album_notes?: string | undefined;
631
+ purchase_price?: number | undefined;
632
+ condition?: string | undefined;
633
+ label?: string | undefined;
634
+ catalog_number?: string | undefined;
635
+ format?: string | undefined;
636
+ created_at?: string | undefined;
637
+ updated_at?: string | undefined;
638
+ } & {
639
+ [k: string]: unknown;
640
+ };
641
+ }, {
642
+ sides: {
643
+ tracks: z.objectInputType<{
644
+ track_id: z.ZodString;
645
+ friend_id: z.ZodNumber;
646
+ position: z.ZodOptional<z.ZodNullable<z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
647
+ title: z.ZodString;
648
+ artist: z.ZodString;
649
+ }, z.ZodTypeAny, "passthrough">[];
650
+ track_count: number;
651
+ side_key: string;
652
+ side_label: string;
653
+ ordinal: number;
654
+ }[];
655
+ album: {
656
+ friend_id: number;
657
+ title: string;
658
+ artist: string;
659
+ release_id: string;
660
+ track_count: number;
661
+ country?: string | undefined;
662
+ username?: string | undefined;
663
+ year?: string | undefined;
664
+ styles?: string[] | undefined;
665
+ genres?: string[] | undefined;
666
+ discogs_url?: string | undefined;
667
+ album_thumbnail?: string | undefined;
668
+ library_identifier?: string | null | undefined;
669
+ audio_file_album_art_url?: string | undefined;
670
+ date_added?: string | undefined;
671
+ date_changed?: string | undefined;
672
+ album_rating?: number | undefined;
673
+ album_notes?: string | undefined;
674
+ purchase_price?: number | undefined;
675
+ condition?: string | undefined;
676
+ label?: string | undefined;
677
+ catalog_number?: string | undefined;
678
+ format?: string | undefined;
679
+ created_at?: string | undefined;
680
+ updated_at?: string | undefined;
681
+ } & {
682
+ [k: string]: unknown;
683
+ };
684
+ }>;
685
+ export declare const spinTrackRefSchema: z.ZodObject<{
686
+ track_id: z.ZodString;
687
+ friend_id: z.ZodNumber;
688
+ }, "strip", z.ZodTypeAny, {
689
+ track_id: string;
690
+ friend_id: number;
691
+ }, {
692
+ track_id: string;
693
+ friend_id: number;
694
+ }>;
695
+ export declare const spinSessionSchema: z.ZodObject<{
696
+ id: z.ZodNumber;
697
+ friend_id: z.ZodNumber;
698
+ release_id: z.ZodString;
699
+ medium: z.ZodLiteral<"vinyl">;
700
+ selection_mode: z.ZodEnum<["sides", "tracks"]>;
701
+ played_at: z.ZodString;
702
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
703
+ context_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
704
+ created_at: z.ZodString;
705
+ updated_at: z.ZodString;
706
+ }, "strip", z.ZodTypeAny, {
707
+ friend_id: number;
708
+ release_id: string;
709
+ id: number;
710
+ created_at: string;
711
+ updated_at: string;
712
+ medium: "vinyl";
713
+ selection_mode: "sides" | "tracks";
714
+ played_at: string;
715
+ note?: string | null | undefined;
716
+ context_type?: string | null | undefined;
717
+ }, {
718
+ friend_id: number;
719
+ release_id: string;
720
+ id: number;
721
+ created_at: string;
722
+ updated_at: string;
723
+ medium: "vinyl";
724
+ selection_mode: "sides" | "tracks";
725
+ played_at: string;
726
+ note?: string | null | undefined;
727
+ context_type?: string | null | undefined;
728
+ }>;
729
+ export declare const spinSelectionSchema: z.ZodObject<{
730
+ id: z.ZodOptional<z.ZodNumber>;
731
+ session_id: z.ZodOptional<z.ZodNumber>;
732
+ ordinal: z.ZodNumber;
733
+ selection_type: z.ZodEnum<["side", "track"]>;
734
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
735
+ track_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
736
+ friend_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
737
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
738
+ created_at: z.ZodOptional<z.ZodString>;
739
+ }, "strip", z.ZodTypeAny, {
740
+ ordinal: number;
741
+ selection_type: "side" | "track";
742
+ track_id?: string | null | undefined;
743
+ friend_id?: number | null | undefined;
744
+ id?: number | undefined;
745
+ created_at?: string | undefined;
746
+ side_key?: string | null | undefined;
747
+ session_id?: number | undefined;
748
+ position_snapshot?: string | null | undefined;
749
+ }, {
750
+ ordinal: number;
751
+ selection_type: "side" | "track";
752
+ track_id?: string | null | undefined;
753
+ friend_id?: number | null | undefined;
754
+ id?: number | undefined;
755
+ created_at?: string | undefined;
756
+ side_key?: string | null | undefined;
757
+ session_id?: number | undefined;
758
+ position_snapshot?: string | null | undefined;
759
+ }>;
760
+ export declare const trackSpinEventSchema: z.ZodObject<{
761
+ id: z.ZodOptional<z.ZodNumber>;
762
+ session_id: z.ZodOptional<z.ZodNumber>;
763
+ friend_id: z.ZodNumber;
764
+ release_id: z.ZodString;
765
+ track_id: z.ZodString;
766
+ played_at: z.ZodString;
767
+ ordinal: z.ZodNumber;
768
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
769
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
770
+ title_snapshot: z.ZodOptional<z.ZodString>;
771
+ artist_snapshot: z.ZodOptional<z.ZodString>;
772
+ album_snapshot: z.ZodOptional<z.ZodString>;
773
+ created_at: z.ZodOptional<z.ZodString>;
774
+ }, "strip", z.ZodTypeAny, {
775
+ track_id: string;
776
+ friend_id: number;
777
+ release_id: string;
778
+ ordinal: number;
779
+ played_at: string;
780
+ id?: number | undefined;
781
+ created_at?: string | undefined;
782
+ side_key?: string | null | undefined;
783
+ session_id?: number | undefined;
784
+ position_snapshot?: string | null | undefined;
785
+ title_snapshot?: string | undefined;
786
+ artist_snapshot?: string | undefined;
787
+ album_snapshot?: string | undefined;
788
+ }, {
789
+ track_id: string;
790
+ friend_id: number;
791
+ release_id: string;
792
+ ordinal: number;
793
+ played_at: string;
794
+ id?: number | undefined;
795
+ created_at?: string | undefined;
796
+ side_key?: string | null | undefined;
797
+ session_id?: number | undefined;
798
+ position_snapshot?: string | null | undefined;
799
+ title_snapshot?: string | undefined;
800
+ artist_snapshot?: string | undefined;
801
+ album_snapshot?: string | undefined;
802
+ }>;
803
+ export declare const spinDerivedSchema: z.ZodObject<{
804
+ is_full_album_spin: z.ZodBoolean;
805
+ selected_side_count: z.ZodNumber;
806
+ album_side_count: z.ZodNumber;
807
+ track_count: z.ZodNumber;
808
+ }, "strip", z.ZodTypeAny, {
809
+ track_count: number;
810
+ is_full_album_spin: boolean;
811
+ selected_side_count: number;
812
+ album_side_count: number;
813
+ }, {
814
+ track_count: number;
815
+ is_full_album_spin: boolean;
816
+ selected_side_count: number;
817
+ album_side_count: number;
818
+ }>;
819
+ export declare const spinCreateBodySchema: z.ZodEffects<z.ZodObject<{
820
+ friend_id: z.ZodEffects<z.ZodNumber, number, unknown>;
821
+ release_id: z.ZodString;
822
+ played_at: z.ZodString;
823
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
824
+ context_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
825
+ side_keys: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
826
+ track_refs: z.ZodOptional<z.ZodArray<z.ZodObject<{
827
+ track_id: z.ZodString;
828
+ friend_id: z.ZodNumber;
829
+ }, "strip", z.ZodTypeAny, {
830
+ track_id: string;
831
+ friend_id: number;
832
+ }, {
833
+ track_id: string;
834
+ friend_id: number;
835
+ }>, "many">>;
836
+ }, "strip", z.ZodTypeAny, {
837
+ friend_id: number;
838
+ release_id: string;
839
+ played_at: string;
840
+ track_refs?: {
841
+ track_id: string;
842
+ friend_id: number;
843
+ }[] | undefined;
844
+ note?: string | null | undefined;
845
+ context_type?: string | null | undefined;
846
+ side_keys?: string[] | undefined;
847
+ }, {
848
+ release_id: string;
849
+ played_at: string;
850
+ friend_id?: unknown;
851
+ track_refs?: {
852
+ track_id: string;
853
+ friend_id: number;
854
+ }[] | undefined;
855
+ note?: string | null | undefined;
856
+ context_type?: string | null | undefined;
857
+ side_keys?: string[] | undefined;
858
+ }>, {
859
+ friend_id: number;
860
+ release_id: string;
861
+ played_at: string;
862
+ track_refs?: {
863
+ track_id: string;
864
+ friend_id: number;
865
+ }[] | undefined;
866
+ note?: string | null | undefined;
867
+ context_type?: string | null | undefined;
868
+ side_keys?: string[] | undefined;
869
+ }, {
870
+ release_id: string;
871
+ played_at: string;
872
+ friend_id?: unknown;
873
+ track_refs?: {
874
+ track_id: string;
875
+ friend_id: number;
876
+ }[] | undefined;
877
+ note?: string | null | undefined;
878
+ context_type?: string | null | undefined;
879
+ side_keys?: string[] | undefined;
880
+ }>;
881
+ export declare const spinCreateResponseSchema: z.ZodObject<{
882
+ session: z.ZodObject<{
883
+ id: z.ZodNumber;
884
+ friend_id: z.ZodNumber;
885
+ release_id: z.ZodString;
886
+ medium: z.ZodLiteral<"vinyl">;
887
+ selection_mode: z.ZodEnum<["sides", "tracks"]>;
888
+ played_at: z.ZodString;
889
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
890
+ context_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
891
+ created_at: z.ZodString;
892
+ updated_at: z.ZodString;
893
+ }, "strip", z.ZodTypeAny, {
894
+ friend_id: number;
895
+ release_id: string;
896
+ id: number;
897
+ created_at: string;
898
+ updated_at: string;
899
+ medium: "vinyl";
900
+ selection_mode: "sides" | "tracks";
901
+ played_at: string;
902
+ note?: string | null | undefined;
903
+ context_type?: string | null | undefined;
904
+ }, {
905
+ friend_id: number;
906
+ release_id: string;
907
+ id: number;
908
+ created_at: string;
909
+ updated_at: string;
910
+ medium: "vinyl";
911
+ selection_mode: "sides" | "tracks";
912
+ played_at: string;
913
+ note?: string | null | undefined;
914
+ context_type?: string | null | undefined;
915
+ }>;
916
+ selections: z.ZodArray<z.ZodObject<{
917
+ id: z.ZodOptional<z.ZodNumber>;
918
+ session_id: z.ZodOptional<z.ZodNumber>;
919
+ ordinal: z.ZodNumber;
920
+ selection_type: z.ZodEnum<["side", "track"]>;
921
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
922
+ track_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
923
+ friend_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
924
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
925
+ created_at: z.ZodOptional<z.ZodString>;
926
+ }, "strip", z.ZodTypeAny, {
927
+ ordinal: number;
928
+ selection_type: "side" | "track";
929
+ track_id?: string | null | undefined;
930
+ friend_id?: number | null | undefined;
931
+ id?: number | undefined;
932
+ created_at?: string | undefined;
933
+ side_key?: string | null | undefined;
934
+ session_id?: number | undefined;
935
+ position_snapshot?: string | null | undefined;
936
+ }, {
937
+ ordinal: number;
938
+ selection_type: "side" | "track";
939
+ track_id?: string | null | undefined;
940
+ friend_id?: number | null | undefined;
941
+ id?: number | undefined;
942
+ created_at?: string | undefined;
943
+ side_key?: string | null | undefined;
944
+ session_id?: number | undefined;
945
+ position_snapshot?: string | null | undefined;
946
+ }>, "many">;
947
+ expanded_tracks: z.ZodArray<z.ZodObject<{
948
+ id: z.ZodOptional<z.ZodNumber>;
949
+ session_id: z.ZodOptional<z.ZodNumber>;
950
+ friend_id: z.ZodNumber;
951
+ release_id: z.ZodString;
952
+ track_id: z.ZodString;
953
+ played_at: z.ZodString;
954
+ ordinal: z.ZodNumber;
955
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
956
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
957
+ title_snapshot: z.ZodOptional<z.ZodString>;
958
+ artist_snapshot: z.ZodOptional<z.ZodString>;
959
+ album_snapshot: z.ZodOptional<z.ZodString>;
960
+ created_at: z.ZodOptional<z.ZodString>;
961
+ }, "strip", z.ZodTypeAny, {
962
+ track_id: string;
963
+ friend_id: number;
964
+ release_id: string;
965
+ ordinal: number;
966
+ played_at: string;
967
+ id?: number | undefined;
968
+ created_at?: string | undefined;
969
+ side_key?: string | null | undefined;
970
+ session_id?: number | undefined;
971
+ position_snapshot?: string | null | undefined;
972
+ title_snapshot?: string | undefined;
973
+ artist_snapshot?: string | undefined;
974
+ album_snapshot?: string | undefined;
975
+ }, {
976
+ track_id: string;
977
+ friend_id: number;
978
+ release_id: string;
979
+ ordinal: number;
980
+ played_at: string;
981
+ id?: number | undefined;
982
+ created_at?: string | undefined;
983
+ side_key?: string | null | undefined;
984
+ session_id?: number | undefined;
985
+ position_snapshot?: string | null | undefined;
986
+ title_snapshot?: string | undefined;
987
+ artist_snapshot?: string | undefined;
988
+ album_snapshot?: string | undefined;
989
+ }>, "many">;
990
+ derived: z.ZodObject<{
991
+ is_full_album_spin: z.ZodBoolean;
992
+ selected_side_count: z.ZodNumber;
993
+ album_side_count: z.ZodNumber;
994
+ track_count: z.ZodNumber;
995
+ }, "strip", z.ZodTypeAny, {
996
+ track_count: number;
997
+ is_full_album_spin: boolean;
998
+ selected_side_count: number;
999
+ album_side_count: number;
1000
+ }, {
1001
+ track_count: number;
1002
+ is_full_album_spin: boolean;
1003
+ selected_side_count: number;
1004
+ album_side_count: number;
1005
+ }>;
1006
+ }, "strip", z.ZodTypeAny, {
1007
+ session: {
1008
+ friend_id: number;
1009
+ release_id: string;
1010
+ id: number;
1011
+ created_at: string;
1012
+ updated_at: string;
1013
+ medium: "vinyl";
1014
+ selection_mode: "sides" | "tracks";
1015
+ played_at: string;
1016
+ note?: string | null | undefined;
1017
+ context_type?: string | null | undefined;
1018
+ };
1019
+ selections: {
1020
+ ordinal: number;
1021
+ selection_type: "side" | "track";
1022
+ track_id?: string | null | undefined;
1023
+ friend_id?: number | null | undefined;
1024
+ id?: number | undefined;
1025
+ created_at?: string | undefined;
1026
+ side_key?: string | null | undefined;
1027
+ session_id?: number | undefined;
1028
+ position_snapshot?: string | null | undefined;
1029
+ }[];
1030
+ expanded_tracks: {
1031
+ track_id: string;
1032
+ friend_id: number;
1033
+ release_id: string;
1034
+ ordinal: number;
1035
+ played_at: string;
1036
+ id?: number | undefined;
1037
+ created_at?: string | undefined;
1038
+ side_key?: string | null | undefined;
1039
+ session_id?: number | undefined;
1040
+ position_snapshot?: string | null | undefined;
1041
+ title_snapshot?: string | undefined;
1042
+ artist_snapshot?: string | undefined;
1043
+ album_snapshot?: string | undefined;
1044
+ }[];
1045
+ derived: {
1046
+ track_count: number;
1047
+ is_full_album_spin: boolean;
1048
+ selected_side_count: number;
1049
+ album_side_count: number;
1050
+ };
1051
+ }, {
1052
+ session: {
1053
+ friend_id: number;
1054
+ release_id: string;
1055
+ id: number;
1056
+ created_at: string;
1057
+ updated_at: string;
1058
+ medium: "vinyl";
1059
+ selection_mode: "sides" | "tracks";
1060
+ played_at: string;
1061
+ note?: string | null | undefined;
1062
+ context_type?: string | null | undefined;
1063
+ };
1064
+ selections: {
1065
+ ordinal: number;
1066
+ selection_type: "side" | "track";
1067
+ track_id?: string | null | undefined;
1068
+ friend_id?: number | null | undefined;
1069
+ id?: number | undefined;
1070
+ created_at?: string | undefined;
1071
+ side_key?: string | null | undefined;
1072
+ session_id?: number | undefined;
1073
+ position_snapshot?: string | null | undefined;
1074
+ }[];
1075
+ expanded_tracks: {
1076
+ track_id: string;
1077
+ friend_id: number;
1078
+ release_id: string;
1079
+ ordinal: number;
1080
+ played_at: string;
1081
+ id?: number | undefined;
1082
+ created_at?: string | undefined;
1083
+ side_key?: string | null | undefined;
1084
+ session_id?: number | undefined;
1085
+ position_snapshot?: string | null | undefined;
1086
+ title_snapshot?: string | undefined;
1087
+ artist_snapshot?: string | undefined;
1088
+ album_snapshot?: string | undefined;
1089
+ }[];
1090
+ derived: {
1091
+ track_count: number;
1092
+ is_full_album_spin: boolean;
1093
+ selected_side_count: number;
1094
+ album_side_count: number;
1095
+ };
1096
+ }>;
1097
+ export declare const spinListQuerySchema: z.ZodObject<{
1098
+ friend_id: z.ZodEffects<z.ZodNumber, number, unknown>;
1099
+ release_id: z.ZodOptional<z.ZodString>;
1100
+ track_id: z.ZodOptional<z.ZodString>;
1101
+ from: z.ZodOptional<z.ZodString>;
1102
+ to: z.ZodOptional<z.ZodString>;
1103
+ limit: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>>;
1104
+ offset: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>>;
1105
+ }, "strip", z.ZodTypeAny, {
1106
+ friend_id: number;
1107
+ limit: number;
1108
+ offset: number;
1109
+ track_id?: string | undefined;
1110
+ release_id?: string | undefined;
1111
+ from?: string | undefined;
1112
+ to?: string | undefined;
1113
+ }, {
1114
+ track_id?: string | undefined;
1115
+ friend_id?: unknown;
1116
+ limit?: unknown;
1117
+ offset?: unknown;
1118
+ release_id?: string | undefined;
1119
+ from?: string | undefined;
1120
+ to?: string | undefined;
1121
+ }>;
1122
+ export declare const spinListItemSchema: z.ZodObject<{
1123
+ session: z.ZodObject<{
1124
+ id: z.ZodNumber;
1125
+ friend_id: z.ZodNumber;
1126
+ release_id: z.ZodString;
1127
+ medium: z.ZodLiteral<"vinyl">;
1128
+ selection_mode: z.ZodEnum<["sides", "tracks"]>;
1129
+ played_at: z.ZodString;
1130
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1131
+ context_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1132
+ created_at: z.ZodString;
1133
+ updated_at: z.ZodString;
1134
+ }, "strip", z.ZodTypeAny, {
1135
+ friend_id: number;
1136
+ release_id: string;
1137
+ id: number;
1138
+ created_at: string;
1139
+ updated_at: string;
1140
+ medium: "vinyl";
1141
+ selection_mode: "sides" | "tracks";
1142
+ played_at: string;
1143
+ note?: string | null | undefined;
1144
+ context_type?: string | null | undefined;
1145
+ }, {
1146
+ friend_id: number;
1147
+ release_id: string;
1148
+ id: number;
1149
+ created_at: string;
1150
+ updated_at: string;
1151
+ medium: "vinyl";
1152
+ selection_mode: "sides" | "tracks";
1153
+ played_at: string;
1154
+ note?: string | null | undefined;
1155
+ context_type?: string | null | undefined;
1156
+ }>;
1157
+ selections: z.ZodArray<z.ZodObject<{
1158
+ id: z.ZodOptional<z.ZodNumber>;
1159
+ session_id: z.ZodOptional<z.ZodNumber>;
1160
+ ordinal: z.ZodNumber;
1161
+ selection_type: z.ZodEnum<["side", "track"]>;
1162
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1163
+ track_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1164
+ friend_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1165
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1166
+ created_at: z.ZodOptional<z.ZodString>;
1167
+ }, "strip", z.ZodTypeAny, {
1168
+ ordinal: number;
1169
+ selection_type: "side" | "track";
1170
+ track_id?: string | null | undefined;
1171
+ friend_id?: number | null | undefined;
1172
+ id?: number | undefined;
1173
+ created_at?: string | undefined;
1174
+ side_key?: string | null | undefined;
1175
+ session_id?: number | undefined;
1176
+ position_snapshot?: string | null | undefined;
1177
+ }, {
1178
+ ordinal: number;
1179
+ selection_type: "side" | "track";
1180
+ track_id?: string | null | undefined;
1181
+ friend_id?: number | null | undefined;
1182
+ id?: number | undefined;
1183
+ created_at?: string | undefined;
1184
+ side_key?: string | null | undefined;
1185
+ session_id?: number | undefined;
1186
+ position_snapshot?: string | null | undefined;
1187
+ }>, "many">;
1188
+ track_events: z.ZodArray<z.ZodObject<{
1189
+ id: z.ZodOptional<z.ZodNumber>;
1190
+ session_id: z.ZodOptional<z.ZodNumber>;
1191
+ friend_id: z.ZodNumber;
1192
+ release_id: z.ZodString;
1193
+ track_id: z.ZodString;
1194
+ played_at: z.ZodString;
1195
+ ordinal: z.ZodNumber;
1196
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1197
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1198
+ title_snapshot: z.ZodOptional<z.ZodString>;
1199
+ artist_snapshot: z.ZodOptional<z.ZodString>;
1200
+ album_snapshot: z.ZodOptional<z.ZodString>;
1201
+ created_at: z.ZodOptional<z.ZodString>;
1202
+ }, "strip", z.ZodTypeAny, {
1203
+ track_id: string;
1204
+ friend_id: number;
1205
+ release_id: string;
1206
+ ordinal: number;
1207
+ played_at: string;
1208
+ id?: number | undefined;
1209
+ created_at?: string | undefined;
1210
+ side_key?: string | null | undefined;
1211
+ session_id?: number | undefined;
1212
+ position_snapshot?: string | null | undefined;
1213
+ title_snapshot?: string | undefined;
1214
+ artist_snapshot?: string | undefined;
1215
+ album_snapshot?: string | undefined;
1216
+ }, {
1217
+ track_id: string;
1218
+ friend_id: number;
1219
+ release_id: string;
1220
+ ordinal: number;
1221
+ played_at: string;
1222
+ id?: number | undefined;
1223
+ created_at?: string | undefined;
1224
+ side_key?: string | null | undefined;
1225
+ session_id?: number | undefined;
1226
+ position_snapshot?: string | null | undefined;
1227
+ title_snapshot?: string | undefined;
1228
+ artist_snapshot?: string | undefined;
1229
+ album_snapshot?: string | undefined;
1230
+ }>, "many">;
1231
+ derived: z.ZodObject<{
1232
+ is_full_album_spin: z.ZodBoolean;
1233
+ selected_side_count: z.ZodNumber;
1234
+ album_side_count: z.ZodNumber;
1235
+ track_count: z.ZodNumber;
1236
+ }, "strip", z.ZodTypeAny, {
1237
+ track_count: number;
1238
+ is_full_album_spin: boolean;
1239
+ selected_side_count: number;
1240
+ album_side_count: number;
1241
+ }, {
1242
+ track_count: number;
1243
+ is_full_album_spin: boolean;
1244
+ selected_side_count: number;
1245
+ album_side_count: number;
1246
+ }>;
1247
+ }, "strip", z.ZodTypeAny, {
1248
+ session: {
1249
+ friend_id: number;
1250
+ release_id: string;
1251
+ id: number;
1252
+ created_at: string;
1253
+ updated_at: string;
1254
+ medium: "vinyl";
1255
+ selection_mode: "sides" | "tracks";
1256
+ played_at: string;
1257
+ note?: string | null | undefined;
1258
+ context_type?: string | null | undefined;
1259
+ };
1260
+ selections: {
1261
+ ordinal: number;
1262
+ selection_type: "side" | "track";
1263
+ track_id?: string | null | undefined;
1264
+ friend_id?: number | null | undefined;
1265
+ id?: number | undefined;
1266
+ created_at?: string | undefined;
1267
+ side_key?: string | null | undefined;
1268
+ session_id?: number | undefined;
1269
+ position_snapshot?: string | null | undefined;
1270
+ }[];
1271
+ derived: {
1272
+ track_count: number;
1273
+ is_full_album_spin: boolean;
1274
+ selected_side_count: number;
1275
+ album_side_count: number;
1276
+ };
1277
+ track_events: {
1278
+ track_id: string;
1279
+ friend_id: number;
1280
+ release_id: string;
1281
+ ordinal: number;
1282
+ played_at: string;
1283
+ id?: number | undefined;
1284
+ created_at?: string | undefined;
1285
+ side_key?: string | null | undefined;
1286
+ session_id?: number | undefined;
1287
+ position_snapshot?: string | null | undefined;
1288
+ title_snapshot?: string | undefined;
1289
+ artist_snapshot?: string | undefined;
1290
+ album_snapshot?: string | undefined;
1291
+ }[];
1292
+ }, {
1293
+ session: {
1294
+ friend_id: number;
1295
+ release_id: string;
1296
+ id: number;
1297
+ created_at: string;
1298
+ updated_at: string;
1299
+ medium: "vinyl";
1300
+ selection_mode: "sides" | "tracks";
1301
+ played_at: string;
1302
+ note?: string | null | undefined;
1303
+ context_type?: string | null | undefined;
1304
+ };
1305
+ selections: {
1306
+ ordinal: number;
1307
+ selection_type: "side" | "track";
1308
+ track_id?: string | null | undefined;
1309
+ friend_id?: number | null | undefined;
1310
+ id?: number | undefined;
1311
+ created_at?: string | undefined;
1312
+ side_key?: string | null | undefined;
1313
+ session_id?: number | undefined;
1314
+ position_snapshot?: string | null | undefined;
1315
+ }[];
1316
+ derived: {
1317
+ track_count: number;
1318
+ is_full_album_spin: boolean;
1319
+ selected_side_count: number;
1320
+ album_side_count: number;
1321
+ };
1322
+ track_events: {
1323
+ track_id: string;
1324
+ friend_id: number;
1325
+ release_id: string;
1326
+ ordinal: number;
1327
+ played_at: string;
1328
+ id?: number | undefined;
1329
+ created_at?: string | undefined;
1330
+ side_key?: string | null | undefined;
1331
+ session_id?: number | undefined;
1332
+ position_snapshot?: string | null | undefined;
1333
+ title_snapshot?: string | undefined;
1334
+ artist_snapshot?: string | undefined;
1335
+ album_snapshot?: string | undefined;
1336
+ }[];
1337
+ }>;
1338
+ export declare const spinListResponseSchema: z.ZodObject<{
1339
+ items: z.ZodArray<z.ZodObject<{
1340
+ session: z.ZodObject<{
1341
+ id: z.ZodNumber;
1342
+ friend_id: z.ZodNumber;
1343
+ release_id: z.ZodString;
1344
+ medium: z.ZodLiteral<"vinyl">;
1345
+ selection_mode: z.ZodEnum<["sides", "tracks"]>;
1346
+ played_at: z.ZodString;
1347
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1348
+ context_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1349
+ created_at: z.ZodString;
1350
+ updated_at: z.ZodString;
1351
+ }, "strip", z.ZodTypeAny, {
1352
+ friend_id: number;
1353
+ release_id: string;
1354
+ id: number;
1355
+ created_at: string;
1356
+ updated_at: string;
1357
+ medium: "vinyl";
1358
+ selection_mode: "sides" | "tracks";
1359
+ played_at: string;
1360
+ note?: string | null | undefined;
1361
+ context_type?: string | null | undefined;
1362
+ }, {
1363
+ friend_id: number;
1364
+ release_id: string;
1365
+ id: number;
1366
+ created_at: string;
1367
+ updated_at: string;
1368
+ medium: "vinyl";
1369
+ selection_mode: "sides" | "tracks";
1370
+ played_at: string;
1371
+ note?: string | null | undefined;
1372
+ context_type?: string | null | undefined;
1373
+ }>;
1374
+ selections: z.ZodArray<z.ZodObject<{
1375
+ id: z.ZodOptional<z.ZodNumber>;
1376
+ session_id: z.ZodOptional<z.ZodNumber>;
1377
+ ordinal: z.ZodNumber;
1378
+ selection_type: z.ZodEnum<["side", "track"]>;
1379
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1380
+ track_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1381
+ friend_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
1382
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1383
+ created_at: z.ZodOptional<z.ZodString>;
1384
+ }, "strip", z.ZodTypeAny, {
1385
+ ordinal: number;
1386
+ selection_type: "side" | "track";
1387
+ track_id?: string | null | undefined;
1388
+ friend_id?: number | null | undefined;
1389
+ id?: number | undefined;
1390
+ created_at?: string | undefined;
1391
+ side_key?: string | null | undefined;
1392
+ session_id?: number | undefined;
1393
+ position_snapshot?: string | null | undefined;
1394
+ }, {
1395
+ ordinal: number;
1396
+ selection_type: "side" | "track";
1397
+ track_id?: string | null | undefined;
1398
+ friend_id?: number | null | undefined;
1399
+ id?: number | undefined;
1400
+ created_at?: string | undefined;
1401
+ side_key?: string | null | undefined;
1402
+ session_id?: number | undefined;
1403
+ position_snapshot?: string | null | undefined;
1404
+ }>, "many">;
1405
+ track_events: z.ZodArray<z.ZodObject<{
1406
+ id: z.ZodOptional<z.ZodNumber>;
1407
+ session_id: z.ZodOptional<z.ZodNumber>;
1408
+ friend_id: z.ZodNumber;
1409
+ release_id: z.ZodString;
1410
+ track_id: z.ZodString;
1411
+ played_at: z.ZodString;
1412
+ ordinal: z.ZodNumber;
1413
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1414
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1415
+ title_snapshot: z.ZodOptional<z.ZodString>;
1416
+ artist_snapshot: z.ZodOptional<z.ZodString>;
1417
+ album_snapshot: z.ZodOptional<z.ZodString>;
1418
+ created_at: z.ZodOptional<z.ZodString>;
1419
+ }, "strip", z.ZodTypeAny, {
1420
+ track_id: string;
1421
+ friend_id: number;
1422
+ release_id: string;
1423
+ ordinal: number;
1424
+ played_at: string;
1425
+ id?: number | undefined;
1426
+ created_at?: string | undefined;
1427
+ side_key?: string | null | undefined;
1428
+ session_id?: number | undefined;
1429
+ position_snapshot?: string | null | undefined;
1430
+ title_snapshot?: string | undefined;
1431
+ artist_snapshot?: string | undefined;
1432
+ album_snapshot?: string | undefined;
1433
+ }, {
1434
+ track_id: string;
1435
+ friend_id: number;
1436
+ release_id: string;
1437
+ ordinal: number;
1438
+ played_at: string;
1439
+ id?: number | undefined;
1440
+ created_at?: string | undefined;
1441
+ side_key?: string | null | undefined;
1442
+ session_id?: number | undefined;
1443
+ position_snapshot?: string | null | undefined;
1444
+ title_snapshot?: string | undefined;
1445
+ artist_snapshot?: string | undefined;
1446
+ album_snapshot?: string | undefined;
1447
+ }>, "many">;
1448
+ derived: z.ZodObject<{
1449
+ is_full_album_spin: z.ZodBoolean;
1450
+ selected_side_count: z.ZodNumber;
1451
+ album_side_count: z.ZodNumber;
1452
+ track_count: z.ZodNumber;
1453
+ }, "strip", z.ZodTypeAny, {
1454
+ track_count: number;
1455
+ is_full_album_spin: boolean;
1456
+ selected_side_count: number;
1457
+ album_side_count: number;
1458
+ }, {
1459
+ track_count: number;
1460
+ is_full_album_spin: boolean;
1461
+ selected_side_count: number;
1462
+ album_side_count: number;
1463
+ }>;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ session: {
1466
+ friend_id: number;
1467
+ release_id: string;
1468
+ id: number;
1469
+ created_at: string;
1470
+ updated_at: string;
1471
+ medium: "vinyl";
1472
+ selection_mode: "sides" | "tracks";
1473
+ played_at: string;
1474
+ note?: string | null | undefined;
1475
+ context_type?: string | null | undefined;
1476
+ };
1477
+ selections: {
1478
+ ordinal: number;
1479
+ selection_type: "side" | "track";
1480
+ track_id?: string | null | undefined;
1481
+ friend_id?: number | null | undefined;
1482
+ id?: number | undefined;
1483
+ created_at?: string | undefined;
1484
+ side_key?: string | null | undefined;
1485
+ session_id?: number | undefined;
1486
+ position_snapshot?: string | null | undefined;
1487
+ }[];
1488
+ derived: {
1489
+ track_count: number;
1490
+ is_full_album_spin: boolean;
1491
+ selected_side_count: number;
1492
+ album_side_count: number;
1493
+ };
1494
+ track_events: {
1495
+ track_id: string;
1496
+ friend_id: number;
1497
+ release_id: string;
1498
+ ordinal: number;
1499
+ played_at: string;
1500
+ id?: number | undefined;
1501
+ created_at?: string | undefined;
1502
+ side_key?: string | null | undefined;
1503
+ session_id?: number | undefined;
1504
+ position_snapshot?: string | null | undefined;
1505
+ title_snapshot?: string | undefined;
1506
+ artist_snapshot?: string | undefined;
1507
+ album_snapshot?: string | undefined;
1508
+ }[];
1509
+ }, {
1510
+ session: {
1511
+ friend_id: number;
1512
+ release_id: string;
1513
+ id: number;
1514
+ created_at: string;
1515
+ updated_at: string;
1516
+ medium: "vinyl";
1517
+ selection_mode: "sides" | "tracks";
1518
+ played_at: string;
1519
+ note?: string | null | undefined;
1520
+ context_type?: string | null | undefined;
1521
+ };
1522
+ selections: {
1523
+ ordinal: number;
1524
+ selection_type: "side" | "track";
1525
+ track_id?: string | null | undefined;
1526
+ friend_id?: number | null | undefined;
1527
+ id?: number | undefined;
1528
+ created_at?: string | undefined;
1529
+ side_key?: string | null | undefined;
1530
+ session_id?: number | undefined;
1531
+ position_snapshot?: string | null | undefined;
1532
+ }[];
1533
+ derived: {
1534
+ track_count: number;
1535
+ is_full_album_spin: boolean;
1536
+ selected_side_count: number;
1537
+ album_side_count: number;
1538
+ };
1539
+ track_events: {
1540
+ track_id: string;
1541
+ friend_id: number;
1542
+ release_id: string;
1543
+ ordinal: number;
1544
+ played_at: string;
1545
+ id?: number | undefined;
1546
+ created_at?: string | undefined;
1547
+ side_key?: string | null | undefined;
1548
+ session_id?: number | undefined;
1549
+ position_snapshot?: string | null | undefined;
1550
+ title_snapshot?: string | undefined;
1551
+ artist_snapshot?: string | undefined;
1552
+ album_snapshot?: string | undefined;
1553
+ }[];
1554
+ }>, "many">;
1555
+ limit: z.ZodNumber;
1556
+ offset: z.ZodNumber;
1557
+ }, "strip", z.ZodTypeAny, {
1558
+ limit: number;
1559
+ offset: number;
1560
+ items: {
1561
+ session: {
1562
+ friend_id: number;
1563
+ release_id: string;
1564
+ id: number;
1565
+ created_at: string;
1566
+ updated_at: string;
1567
+ medium: "vinyl";
1568
+ selection_mode: "sides" | "tracks";
1569
+ played_at: string;
1570
+ note?: string | null | undefined;
1571
+ context_type?: string | null | undefined;
1572
+ };
1573
+ selections: {
1574
+ ordinal: number;
1575
+ selection_type: "side" | "track";
1576
+ track_id?: string | null | undefined;
1577
+ friend_id?: number | null | undefined;
1578
+ id?: number | undefined;
1579
+ created_at?: string | undefined;
1580
+ side_key?: string | null | undefined;
1581
+ session_id?: number | undefined;
1582
+ position_snapshot?: string | null | undefined;
1583
+ }[];
1584
+ derived: {
1585
+ track_count: number;
1586
+ is_full_album_spin: boolean;
1587
+ selected_side_count: number;
1588
+ album_side_count: number;
1589
+ };
1590
+ track_events: {
1591
+ track_id: string;
1592
+ friend_id: number;
1593
+ release_id: string;
1594
+ ordinal: number;
1595
+ played_at: string;
1596
+ id?: number | undefined;
1597
+ created_at?: string | undefined;
1598
+ side_key?: string | null | undefined;
1599
+ session_id?: number | undefined;
1600
+ position_snapshot?: string | null | undefined;
1601
+ title_snapshot?: string | undefined;
1602
+ artist_snapshot?: string | undefined;
1603
+ album_snapshot?: string | undefined;
1604
+ }[];
1605
+ }[];
1606
+ }, {
1607
+ limit: number;
1608
+ offset: number;
1609
+ items: {
1610
+ session: {
1611
+ friend_id: number;
1612
+ release_id: string;
1613
+ id: number;
1614
+ created_at: string;
1615
+ updated_at: string;
1616
+ medium: "vinyl";
1617
+ selection_mode: "sides" | "tracks";
1618
+ played_at: string;
1619
+ note?: string | null | undefined;
1620
+ context_type?: string | null | undefined;
1621
+ };
1622
+ selections: {
1623
+ ordinal: number;
1624
+ selection_type: "side" | "track";
1625
+ track_id?: string | null | undefined;
1626
+ friend_id?: number | null | undefined;
1627
+ id?: number | undefined;
1628
+ created_at?: string | undefined;
1629
+ side_key?: string | null | undefined;
1630
+ session_id?: number | undefined;
1631
+ position_snapshot?: string | null | undefined;
1632
+ }[];
1633
+ derived: {
1634
+ track_count: number;
1635
+ is_full_album_spin: boolean;
1636
+ selected_side_count: number;
1637
+ album_side_count: number;
1638
+ };
1639
+ track_events: {
1640
+ track_id: string;
1641
+ friend_id: number;
1642
+ release_id: string;
1643
+ ordinal: number;
1644
+ played_at: string;
1645
+ id?: number | undefined;
1646
+ created_at?: string | undefined;
1647
+ side_key?: string | null | undefined;
1648
+ session_id?: number | undefined;
1649
+ position_snapshot?: string | null | undefined;
1650
+ title_snapshot?: string | undefined;
1651
+ artist_snapshot?: string | undefined;
1652
+ album_snapshot?: string | undefined;
1653
+ }[];
1654
+ }[];
1655
+ }>;
1656
+ export declare const spinDeleteResponseSchema: z.ZodObject<{
1657
+ success: z.ZodBoolean;
1658
+ session: z.ZodObject<{
1659
+ id: z.ZodNumber;
1660
+ friend_id: z.ZodNumber;
1661
+ release_id: z.ZodString;
1662
+ medium: z.ZodLiteral<"vinyl">;
1663
+ selection_mode: z.ZodEnum<["sides", "tracks"]>;
1664
+ played_at: z.ZodString;
1665
+ note: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1666
+ context_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1667
+ created_at: z.ZodString;
1668
+ updated_at: z.ZodString;
1669
+ }, "strip", z.ZodTypeAny, {
1670
+ friend_id: number;
1671
+ release_id: string;
1672
+ id: number;
1673
+ created_at: string;
1674
+ updated_at: string;
1675
+ medium: "vinyl";
1676
+ selection_mode: "sides" | "tracks";
1677
+ played_at: string;
1678
+ note?: string | null | undefined;
1679
+ context_type?: string | null | undefined;
1680
+ }, {
1681
+ friend_id: number;
1682
+ release_id: string;
1683
+ id: number;
1684
+ created_at: string;
1685
+ updated_at: string;
1686
+ medium: "vinyl";
1687
+ selection_mode: "sides" | "tracks";
1688
+ played_at: string;
1689
+ note?: string | null | undefined;
1690
+ context_type?: string | null | undefined;
1691
+ }>;
1692
+ }, "strip", z.ZodTypeAny, {
1693
+ success: boolean;
1694
+ session: {
1695
+ friend_id: number;
1696
+ release_id: string;
1697
+ id: number;
1698
+ created_at: string;
1699
+ updated_at: string;
1700
+ medium: "vinyl";
1701
+ selection_mode: "sides" | "tracks";
1702
+ played_at: string;
1703
+ note?: string | null | undefined;
1704
+ context_type?: string | null | undefined;
1705
+ };
1706
+ }, {
1707
+ success: boolean;
1708
+ session: {
1709
+ friend_id: number;
1710
+ release_id: string;
1711
+ id: number;
1712
+ created_at: string;
1713
+ updated_at: string;
1714
+ medium: "vinyl";
1715
+ selection_mode: "sides" | "tracks";
1716
+ played_at: string;
1717
+ note?: string | null | undefined;
1718
+ context_type?: string | null | undefined;
1719
+ };
1720
+ }>;
1721
+ export declare const spinTopTracksQuerySchema: z.ZodObject<{
1722
+ friend_id: z.ZodEffects<z.ZodNumber, number, unknown>;
1723
+ release_id: z.ZodOptional<z.ZodString>;
1724
+ limit: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>>;
1725
+ offset: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodNumber, number, unknown>>>;
1726
+ }, "strip", z.ZodTypeAny, {
1727
+ friend_id: number;
1728
+ limit: number;
1729
+ offset: number;
1730
+ release_id?: string | undefined;
1731
+ }, {
1732
+ friend_id?: unknown;
1733
+ limit?: unknown;
1734
+ offset?: unknown;
1735
+ release_id?: string | undefined;
1736
+ }>;
1737
+ export declare const spinTopTrackItemSchema: z.ZodObject<{
1738
+ friend_id: z.ZodNumber;
1739
+ release_id: z.ZodString;
1740
+ track_id: z.ZodString;
1741
+ play_count: z.ZodNumber;
1742
+ last_played_at: z.ZodString;
1743
+ title_snapshot: z.ZodString;
1744
+ artist_snapshot: z.ZodString;
1745
+ album_snapshot: z.ZodString;
1746
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1747
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1748
+ }, "strip", z.ZodTypeAny, {
1749
+ track_id: string;
1750
+ friend_id: number;
1751
+ release_id: string;
1752
+ title_snapshot: string;
1753
+ artist_snapshot: string;
1754
+ album_snapshot: string;
1755
+ play_count: number;
1756
+ last_played_at: string;
1757
+ side_key?: string | null | undefined;
1758
+ position_snapshot?: string | null | undefined;
1759
+ }, {
1760
+ track_id: string;
1761
+ friend_id: number;
1762
+ release_id: string;
1763
+ title_snapshot: string;
1764
+ artist_snapshot: string;
1765
+ album_snapshot: string;
1766
+ play_count: number;
1767
+ last_played_at: string;
1768
+ side_key?: string | null | undefined;
1769
+ position_snapshot?: string | null | undefined;
1770
+ }>;
1771
+ export declare const spinTopTracksResponseSchema: z.ZodObject<{
1772
+ items: z.ZodArray<z.ZodObject<{
1773
+ friend_id: z.ZodNumber;
1774
+ release_id: z.ZodString;
1775
+ track_id: z.ZodString;
1776
+ play_count: z.ZodNumber;
1777
+ last_played_at: z.ZodString;
1778
+ title_snapshot: z.ZodString;
1779
+ artist_snapshot: z.ZodString;
1780
+ album_snapshot: z.ZodString;
1781
+ side_key: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1782
+ position_snapshot: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1783
+ }, "strip", z.ZodTypeAny, {
1784
+ track_id: string;
1785
+ friend_id: number;
1786
+ release_id: string;
1787
+ title_snapshot: string;
1788
+ artist_snapshot: string;
1789
+ album_snapshot: string;
1790
+ play_count: number;
1791
+ last_played_at: string;
1792
+ side_key?: string | null | undefined;
1793
+ position_snapshot?: string | null | undefined;
1794
+ }, {
1795
+ track_id: string;
1796
+ friend_id: number;
1797
+ release_id: string;
1798
+ title_snapshot: string;
1799
+ artist_snapshot: string;
1800
+ album_snapshot: string;
1801
+ play_count: number;
1802
+ last_played_at: string;
1803
+ side_key?: string | null | undefined;
1804
+ position_snapshot?: string | null | undefined;
1805
+ }>, "many">;
1806
+ limit: z.ZodNumber;
1807
+ offset: z.ZodNumber;
1808
+ }, "strip", z.ZodTypeAny, {
1809
+ limit: number;
1810
+ offset: number;
1811
+ items: {
1812
+ track_id: string;
1813
+ friend_id: number;
1814
+ release_id: string;
1815
+ title_snapshot: string;
1816
+ artist_snapshot: string;
1817
+ album_snapshot: string;
1818
+ play_count: number;
1819
+ last_played_at: string;
1820
+ side_key?: string | null | undefined;
1821
+ position_snapshot?: string | null | undefined;
1822
+ }[];
1823
+ }, {
1824
+ limit: number;
1825
+ offset: number;
1826
+ items: {
1827
+ track_id: string;
1828
+ friend_id: number;
1829
+ release_id: string;
1830
+ title_snapshot: string;
1831
+ artist_snapshot: string;
1832
+ album_snapshot: string;
1833
+ play_count: number;
1834
+ last_played_at: string;
1835
+ side_key?: string | null | undefined;
1836
+ position_snapshot?: string | null | undefined;
1837
+ }[];
1838
+ }>;
1839
+ //# sourceMappingURL=schemas.d.ts.map