import { z } from 'zod';
import { MusicType } from './module-items/music.js';
import { ZMusicItemLinks } from './module-items/music/links.js';
export var MusicPresavePlatform;
(function (MusicPresavePlatform) {
    MusicPresavePlatform["APPLE_MUSIC"] = "APPLE_MUSIC";
    MusicPresavePlatform["SPOTIFY"] = "SPOTIFY";
})(MusicPresavePlatform || (MusicPresavePlatform = {}));
export var MusicPresaveTaskStatus;
(function (MusicPresaveTaskStatus) {
    MusicPresaveTaskStatus["DONE"] = "DONE";
    MusicPresaveTaskStatus["FAILED"] = "FAILED";
    MusicPresaveTaskStatus["PENDING"] = "PENDING";
})(MusicPresaveTaskStatus || (MusicPresaveTaskStatus = {}));
export const ZMusicPresave = z.object({
    clientCaptureUserUserId: z.string(),
    id: z.string().uuid(),
    musicItemLinkId: z.string().uuid(),
    status: z.string(),
    token: z.string(),
    versionId: z.string().uuid()
});
export const ZMusicPresaveElement = z.object({
    active: z.boolean(),
    links: z.array(ZMusicItemLinks),
    moduleId: z.string().uuid(),
    musicId: z.string().uuid(),
    title: z.string(),
    type: z.nativeEnum(MusicType)
});
export const ZPreReleaseCountParams = z.object({
    country: z.array(z.string()).optional(),
    formId: z.string().optional(),
    fromDate: z.string().optional(),
    moduleId: z.string().optional(),
    toDate: z.string().optional()
});
export const ZPreReleaseParams = z.object({
    moduleId: z.string().uuid(),
    musicId: z.string().uuid(),
    platform: z.nativeEnum(MusicPresavePlatform)
});
export const ZSyncMusicPresaveBody = z.object({
    localizationId: z.string().uuid(),
    metadata: z.record(z.any()),
    moduleId: z.string().uuid(),
    musicItemId: z.string().uuid(),
    profileId: z.string().uuid()
});
export const ZEndUserPresaveBody = z.object({
    moduleId: z.string().uuid(),
    musicItemId: z.string().uuid(),
    platform: z.nativeEnum(MusicPresavePlatform),
    region: z.string(),
    token: z.string()
});
