import { z } from 'zod';
import { ZMusicItemArtists } from './music/artists.js';
import { ZMusicItemLinks } from './music/links.js';
export var MusicType;
(function (MusicType) {
    MusicType["NORMAL"] = "NORMAL";
    MusicType["PRE_SAVE"] = "PRE_SAVE";
    MusicType["CUSTOM_PRE_SAVE"] = "CUSTOM_PRE_SAVE";
})(MusicType || (MusicType = {}));
export const ZMusicItem = z.object({
    artists: z.array(ZMusicItemArtists).optional(),
    customLink: z.string().optional().nullable(),
    id: z.string().uuid().optional(),
    links: z.array(ZMusicItemLinks).default([]),
    metadata: z.any(),
    moduleId: z.string().optional().nullable(),
    order: z.number().optional(),
    persistentId: z.string().optional().nullable(),
    releaseDate: z.coerce.date().optional().nullable(),
    releaseScope: z.string().optional().nullable(),
    releaseType: z.string().optional().nullable(),
    timezone: z.string().optional().nullable(),
    title: z.string().optional().nullable(),
    type: z.nativeEnum(MusicType).default(MusicType.NORMAL),
    urlSlug: z.string().optional().nullable(),
    versionId: z.string().optional().nullable(),
    visible: z.boolean().default(true)
});
