/// <reference types="node" />
import { WalletAdapter } from '@solana/wallet-adapter-base';
import { z } from 'zod';
import { Genre } from '../../types/Genre';
import { Mood } from '../../types/Mood';
export declare const getAlbumSchema: z.ZodObject<{
    userId: z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
}, "strip", z.ZodTypeAny, {
    albumId: number;
    userId?: number | undefined;
}, {
    albumId: string;
    userId?: string | undefined;
}>;
export type getAlbumRequest = z.input<typeof getAlbumSchema>;
export declare const getAlbumsSchema: z.ZodObject<{
    userId: z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>;
    id: z.ZodArray<z.ZodEffects<z.ZodString, number, string>, "many">;
}, "strip", z.ZodTypeAny, {
    id: number[];
    userId?: number | undefined;
}, {
    id: string[];
    userId?: string | undefined;
}>;
export type getAlbumsRequest = z.input<typeof getAlbumsSchema>;
export declare const getAlbumTracksSchema: z.ZodObject<{
    albumId: z.ZodEffects<z.ZodString, number, string>;
}, "strip", z.ZodTypeAny, {
    albumId: number;
}, {
    albumId: string;
}>;
export type getAlbumTracksRequest = z.input<typeof getAlbumTracksSchema>;
export declare const CreateAlbumMetadataSchema: z.ZodObject<{
    albumName: z.ZodString;
    isPrivate: z.ZodOptional<z.ZodBoolean>;
    description: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    releaseDate: z.ZodOptional<z.ZodDate>;
    ddexReleaseIds: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
    ddexApp: z.ZodOptional<z.ZodString>;
    upc: z.ZodOptional<z.ZodString>;
    artists: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        roles: z.ZodArray<z.ZodString, "many">;
        sequence_number: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }, {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }>, "many">>>;
    copyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        year: z.ZodString;
        text: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        year: string;
        text: string;
    }, {
        year: string;
        text: string;
    }>>>;
    producerCopyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        year: z.ZodString;
        text: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        year: string;
        text: string;
    }, {
        year: string;
        text: string;
    }>>>;
    parentalWarningType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    isStreamGated: z.ZodOptional<z.ZodBoolean>;
    streamConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        usdcPurchase: z.ZodObject<{
            price: z.ZodNumber;
            splits: z.ZodAny;
        }, "strip", z.ZodTypeAny, {
            price: number;
            splits?: any;
        }, {
            price: number;
            splits?: any;
        }>;
    }, "strict", z.ZodTypeAny, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }>>>;
    isDownloadGated: z.ZodOptional<z.ZodBoolean>;
    downloadConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        usdcPurchase: z.ZodObject<{
            price: z.ZodNumber;
            splits: z.ZodAny;
        }, "strip", z.ZodTypeAny, {
            price: number;
            splits?: any;
        }, {
            price: number;
            splits?: any;
        }>;
    }, "strict", z.ZodTypeAny, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }>>>;
    isScheduledRelease: z.ZodOptional<z.ZodBoolean>;
}, "strict", z.ZodTypeAny, {
    albumName: string;
    isPrivate?: boolean | undefined;
    description?: string | undefined;
    license?: string | undefined;
    releaseDate?: Date | undefined;
    ddexReleaseIds?: Record<string, string> | null | undefined;
    ddexApp?: string | undefined;
    upc?: string | undefined;
    artists?: {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }[] | null | undefined;
    copyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    producerCopyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    parentalWarningType?: string | null | undefined;
    isStreamGated?: boolean | undefined;
    streamConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    isDownloadGated?: boolean | undefined;
    downloadConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    isScheduledRelease?: boolean | undefined;
}, {
    albumName: string;
    isPrivate?: boolean | undefined;
    description?: string | undefined;
    license?: string | undefined;
    releaseDate?: Date | undefined;
    ddexReleaseIds?: Record<string, string> | null | undefined;
    ddexApp?: string | undefined;
    upc?: string | undefined;
    artists?: {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }[] | null | undefined;
    copyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    producerCopyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    parentalWarningType?: string | null | undefined;
    isStreamGated?: boolean | undefined;
    streamConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    isDownloadGated?: boolean | undefined;
    downloadConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    isScheduledRelease?: boolean | undefined;
}>;
export type CreateAlbumMetadata = z.input<typeof CreateAlbumMetadataSchema>;
export declare const CreateAlbumSchema: z.ZodObject<{
    albumId: z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>;
    userId: z.ZodEffects<z.ZodString, number, string>;
    coverArtFile: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
        buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }>, z.ZodType<File, z.ZodTypeDef, File>, z.ZodObject<{
        uri: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        type: z.ZodNullable<z.ZodString>;
        copyError: z.ZodOptional<z.ZodString>;
        fileCopyUri: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        size: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>]>, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>>;
    metadata: z.ZodObject<{
        albumName: z.ZodString;
        isPrivate: z.ZodOptional<z.ZodBoolean>;
        description: z.ZodOptional<z.ZodString>;
        license: z.ZodOptional<z.ZodString>;
        releaseDate: z.ZodOptional<z.ZodDate>;
        ddexReleaseIds: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
        ddexApp: z.ZodOptional<z.ZodString>;
        upc: z.ZodOptional<z.ZodString>;
        artists: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            sequence_number: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }>, "many">>>;
        copyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>;
        producerCopyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>;
        parentalWarningType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        isStreamGated: z.ZodOptional<z.ZodBoolean>;
        streamConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>>>;
        isDownloadGated: z.ZodOptional<z.ZodBoolean>;
        downloadConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>>>;
        isScheduledRelease: z.ZodOptional<z.ZodBoolean>;
    }, "strict", z.ZodTypeAny, {
        albumName: string;
        isPrivate?: boolean | undefined;
        description?: string | undefined;
        license?: string | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        upc?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isScheduledRelease?: boolean | undefined;
    }, {
        albumName: string;
        isPrivate?: boolean | undefined;
        description?: string | undefined;
        license?: string | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        upc?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isScheduledRelease?: boolean | undefined;
    }>;
    onProgress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
    trackIds: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodString, number, string>, "many">>;
}, "strict", z.ZodTypeAny, {
    metadata: {
        albumName: string;
        isPrivate?: boolean | undefined;
        description?: string | undefined;
        license?: string | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        upc?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isScheduledRelease?: boolean | undefined;
    };
    userId: number;
    albumId?: number | undefined;
    coverArtFile?: File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    } | undefined;
    onProgress?: ((...args: unknown[]) => unknown) | undefined;
    trackIds?: number[] | undefined;
}, {
    metadata: {
        albumName: string;
        isPrivate?: boolean | undefined;
        description?: string | undefined;
        license?: string | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        upc?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isScheduledRelease?: boolean | undefined;
    };
    userId: string;
    albumId?: string | undefined;
    coverArtFile?: File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    } | undefined;
    onProgress?: ((...args: unknown[]) => unknown) | undefined;
    trackIds?: string[] | undefined;
}>;
export type CreateAlbumRequest = z.input<typeof CreateAlbumSchema>;
export declare const UploadAlbumMetadataSchema: z.ZodObject<{
    description: z.ZodOptional<z.ZodString>;
    license: z.ZodOptional<z.ZodString>;
    isStreamGated: z.ZodOptional<z.ZodBoolean>;
    streamConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        usdcPurchase: z.ZodObject<{
            price: z.ZodNumber;
            splits: z.ZodAny;
        }, "strip", z.ZodTypeAny, {
            price: number;
            splits?: any;
        }, {
            price: number;
            splits?: any;
        }>;
    }, "strict", z.ZodTypeAny, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }>>>;
    isDownloadGated: z.ZodOptional<z.ZodBoolean>;
    downloadConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
        usdcPurchase: z.ZodObject<{
            price: z.ZodNumber;
            splits: z.ZodAny;
        }, "strip", z.ZodTypeAny, {
            price: number;
            splits?: any;
        }, {
            price: number;
            splits?: any;
        }>;
    }, "strict", z.ZodTypeAny, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }, {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    }>>>;
    releaseDate: z.ZodOptional<z.ZodDate>;
    ddexReleaseIds: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
    ddexApp: z.ZodOptional<z.ZodString>;
    artists: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        roles: z.ZodArray<z.ZodString, "many">;
        sequence_number: z.ZodOptional<z.ZodNumber>;
    }, "strict", z.ZodTypeAny, {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }, {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }>, "many">>>;
    copyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        year: z.ZodString;
        text: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        year: string;
        text: string;
    }, {
        year: string;
        text: string;
    }>>>;
    producerCopyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        year: z.ZodString;
        text: z.ZodString;
    }, "strict", z.ZodTypeAny, {
        year: string;
        text: string;
    }, {
        year: string;
        text: string;
    }>>>;
    parentalWarningType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    isScheduledRelease: z.ZodOptional<z.ZodBoolean>;
    isPrivate: z.ZodOptional<z.ZodBoolean>;
    upc: z.ZodOptional<z.ZodString>;
    albumName: z.ZodString;
    genre: z.ZodEnum<[Genre, ...Genre[]]>;
    mood: z.ZodOptional<z.ZodEnum<[Mood, ...Mood[]]>>;
    tags: z.ZodOptional<z.ZodString>;
}, "strict", z.ZodTypeAny, {
    genre: Genre;
    albumName: string;
    description?: string | undefined;
    license?: string | undefined;
    isStreamGated?: boolean | undefined;
    streamConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    isDownloadGated?: boolean | undefined;
    downloadConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    releaseDate?: Date | undefined;
    ddexReleaseIds?: Record<string, string> | null | undefined;
    ddexApp?: string | undefined;
    artists?: {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }[] | null | undefined;
    copyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    producerCopyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    parentalWarningType?: string | null | undefined;
    isScheduledRelease?: boolean | undefined;
    isPrivate?: boolean | undefined;
    upc?: string | undefined;
    mood?: Mood | undefined;
    tags?: string | undefined;
}, {
    genre: Genre;
    albumName: string;
    description?: string | undefined;
    license?: string | undefined;
    isStreamGated?: boolean | undefined;
    streamConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    isDownloadGated?: boolean | undefined;
    downloadConditions?: {
        usdcPurchase: {
            price: number;
            splits?: any;
        };
    } | null | undefined;
    releaseDate?: Date | undefined;
    ddexReleaseIds?: Record<string, string> | null | undefined;
    ddexApp?: string | undefined;
    artists?: {
        name: string;
        roles: string[];
        sequence_number?: number | undefined;
    }[] | null | undefined;
    copyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    producerCopyrightLine?: {
        year: string;
        text: string;
    } | null | undefined;
    parentalWarningType?: string | null | undefined;
    isScheduledRelease?: boolean | undefined;
    isPrivate?: boolean | undefined;
    upc?: string | undefined;
    mood?: Mood | undefined;
    tags?: string | undefined;
}>;
export type AlbumMetadata = z.input<typeof UploadAlbumMetadataSchema>;
export declare const UploadAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    coverArtFile: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
        buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }>, z.ZodType<File, z.ZodTypeDef, File>, z.ZodObject<{
        uri: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        type: z.ZodNullable<z.ZodString>;
        copyError: z.ZodOptional<z.ZodString>;
        fileCopyUri: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        size: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>]>, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>;
    metadata: z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        license: z.ZodOptional<z.ZodString>;
        isStreamGated: z.ZodOptional<z.ZodBoolean>;
        streamConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>>>;
        isDownloadGated: z.ZodOptional<z.ZodBoolean>;
        downloadConditions: z.ZodNullable<z.ZodOptional<z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>>>;
        releaseDate: z.ZodOptional<z.ZodDate>;
        ddexReleaseIds: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
        ddexApp: z.ZodOptional<z.ZodString>;
        artists: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            sequence_number: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }>, "many">>>;
        copyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>;
        producerCopyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>;
        parentalWarningType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        isScheduledRelease: z.ZodOptional<z.ZodBoolean>;
        isPrivate: z.ZodOptional<z.ZodBoolean>;
        upc: z.ZodOptional<z.ZodString>;
        albumName: z.ZodString;
        genre: z.ZodEnum<[Genre, ...Genre[]]>;
        mood: z.ZodOptional<z.ZodEnum<[Mood, ...Mood[]]>>;
        tags: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        genre: Genre;
        albumName: string;
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    }, {
        genre: Genre;
        albumName: string;
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    }>;
    onProgress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
    /**
     * Track metadata is populated from the album if fields are missing
     */
    trackMetadatas: z.ZodArray<z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        trackId: z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>;
        aiAttributionUserId: z.ZodOptional<z.ZodEffects<z.ZodString, number, string>>;
        fieldVisibility: z.ZodOptional<z.ZodObject<{
            mood: z.ZodOptional<z.ZodBoolean>;
            tags: z.ZodOptional<z.ZodBoolean>;
            genre: z.ZodOptional<z.ZodBoolean>;
            share: z.ZodOptional<z.ZodBoolean>;
            playCount: z.ZodOptional<z.ZodBoolean>;
            remixes: z.ZodOptional<z.ZodBoolean>;
        }, "strip", z.ZodTypeAny, {
            mood?: boolean | undefined;
            tags?: boolean | undefined;
            genre?: boolean | undefined;
            share?: boolean | undefined;
            playCount?: boolean | undefined;
            remixes?: boolean | undefined;
        }, {
            mood?: boolean | undefined;
            tags?: boolean | undefined;
            genre?: boolean | undefined;
            share?: boolean | undefined;
            playCount?: boolean | undefined;
            remixes?: boolean | undefined;
        }>>;
        mood: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodEnum<[Mood, ...Mood[]]>>>>;
        tags: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        genre: z.ZodOptional<z.ZodEffects<z.ZodNullable<z.ZodEnum<[Genre, ...Genre[]]>>, Genre | null, Genre | null>>;
        isrc: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        isUnlisted: z.ZodOptional<z.ZodBoolean>;
        iswc: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        license: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        isStreamGated: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        streamConditions: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            nftCollection: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                chain: z.ZodLiteral<"eth">;
                address: z.ZodString;
                standard: z.ZodUnion<[z.ZodLiteral<"ERC721">, z.ZodLiteral<"ERC1155">]>;
                name: z.ZodString;
                slug: z.ZodString;
                imageUrl: z.ZodOptional<z.ZodString>;
                externalLink: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            }, "strict", z.ZodTypeAny, {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }, {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }>, z.ZodObject<{
                chain: z.ZodLiteral<"sol">;
                address: z.ZodString;
                name: z.ZodString;
                imageUrl: z.ZodOptional<z.ZodString>;
                externalLink: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            }, "strict", z.ZodTypeAny, {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }, {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }>]>>;
        }, "strict", z.ZodTypeAny, {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        }, {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        }>, z.ZodObject<{
            followUserId: z.ZodNumber;
        }, "strict", z.ZodTypeAny, {
            followUserId: number;
        }, {
            followUserId: number;
        }>, z.ZodObject<{
            tipUserId: z.ZodNumber;
        }, "strict", z.ZodTypeAny, {
            tipUserId: number;
        }, {
            tipUserId: number;
        }>, z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>]>>>>;
        isDownloadGated: z.ZodOptional<z.ZodBoolean>;
        downloadConditions: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
            nftCollection: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
                chain: z.ZodLiteral<"eth">;
                address: z.ZodString;
                standard: z.ZodUnion<[z.ZodLiteral<"ERC721">, z.ZodLiteral<"ERC1155">]>;
                name: z.ZodString;
                slug: z.ZodString;
                imageUrl: z.ZodOptional<z.ZodString>;
                externalLink: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            }, "strict", z.ZodTypeAny, {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }, {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }>, z.ZodObject<{
                chain: z.ZodLiteral<"sol">;
                address: z.ZodString;
                name: z.ZodString;
                imageUrl: z.ZodOptional<z.ZodString>;
                externalLink: z.ZodNullable<z.ZodOptional<z.ZodString>>;
            }, "strict", z.ZodTypeAny, {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }, {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            }>]>>;
        }, "strict", z.ZodTypeAny, {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        }, {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        }>, z.ZodObject<{
            followUserId: z.ZodNumber;
        }, "strict", z.ZodTypeAny, {
            followUserId: number;
        }, {
            followUserId: number;
        }>, z.ZodObject<{
            tipUserId: z.ZodNumber;
        }, "strict", z.ZodTypeAny, {
            tipUserId: number;
        }, {
            tipUserId: number;
        }>, z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>]>>>>;
        releaseDate: z.ZodOptional<z.ZodDate>;
        remixOf: z.ZodOptional<z.ZodObject<{
            tracks: z.ZodArray<z.ZodObject<{
                parentTrackId: z.ZodEffects<z.ZodString, number, string>;
            }, "strip", z.ZodTypeAny, {
                parentTrackId: number;
            }, {
                parentTrackId: string;
            }>, "many">;
        }, "strict", z.ZodTypeAny, {
            tracks: {
                parentTrackId: number;
            }[];
        }, {
            tracks: {
                parentTrackId: string;
            }[];
        }>>;
        stemOf: z.ZodOptional<z.ZodObject<{
            category: z.ZodDefault<z.ZodEnum<[import("../..").StemCategory, ...import("../..").StemCategory[]]>>;
            parentTrackId: z.ZodEffects<z.ZodString, number, string>;
        }, "strip", z.ZodTypeAny, {
            parentTrackId: number;
            category: import("../..").StemCategory;
        }, {
            parentTrackId: string;
            category?: import("../..").StemCategory | undefined;
        }>>;
        title: z.ZodString;
        duration: z.ZodOptional<z.ZodNumber>;
        previewStartSeconds: z.ZodOptional<z.ZodNumber>;
        placementHosts: z.ZodOptional<z.ZodString>;
        audioUploadId: z.ZodOptional<z.ZodString>;
        trackCid: z.ZodOptional<z.ZodString>;
        previewCid: z.ZodOptional<z.ZodString>;
        origFileCid: z.ZodOptional<z.ZodString>;
        origFilename: z.ZodOptional<z.ZodString>;
        isDownloadable: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        isOriginalAvailable: z.ZodOptional<z.ZodBoolean>;
        ddexReleaseIds: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
        ddexApp: z.ZodOptional<z.ZodString>;
        artists: z.ZodNullable<z.ZodOptional<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            sequence_number: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }>, "many">>>;
        resourceContributors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            sequence_number: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }>, "many">>>;
        indirectResourceContributors: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            sequence_number: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }>, "many">>>;
        rightsController: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            rights_share_unknown: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            rights_share_unknown?: string | undefined;
        }, {
            name: string;
            roles: string[];
            rights_share_unknown?: string | undefined;
        }>>>;
        copyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>;
        producerCopyrightLine: z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>;
        parentalWarningType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        bpm: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
        isCustomBpm: z.ZodOptional<z.ZodBoolean>;
        musicalKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
        isCustomMusicalKey: z.ZodOptional<z.ZodBoolean>;
        audioAnalysisErrorCount: z.ZodOptional<z.ZodNumber>;
        commentsDisabled: z.ZodOptional<z.ZodBoolean>;
        isScheduledRelease: z.ZodOptional<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        description?: string | undefined;
        trackId?: number | undefined;
        aiAttributionUserId?: number | undefined;
        fieldVisibility?: {
            mood?: boolean | undefined;
            tags?: boolean | undefined;
            genre?: boolean | undefined;
            share?: boolean | undefined;
            playCount?: boolean | undefined;
            remixes?: boolean | undefined;
        } | undefined;
        mood?: Mood | null | undefined;
        tags?: string | undefined;
        genre?: Genre | null | undefined;
        isrc?: string | null | undefined;
        isUnlisted?: boolean | undefined;
        iswc?: string | null | undefined;
        license?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        remixOf?: {
            tracks: {
                parentTrackId: number;
            }[];
        } | undefined;
        stemOf?: {
            parentTrackId: number;
            category: import("../..").StemCategory;
        } | undefined;
        duration?: number | undefined;
        previewStartSeconds?: number | undefined;
        placementHosts?: string | undefined;
        audioUploadId?: string | undefined;
        trackCid?: string | undefined;
        previewCid?: string | undefined;
        origFileCid?: string | undefined;
        origFilename?: string | undefined;
        isDownloadable?: boolean | undefined;
        isOriginalAvailable?: boolean | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        resourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        indirectResourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        rightsController?: {
            name: string;
            roles: string[];
            rights_share_unknown?: string | undefined;
        } | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        bpm?: number | null | undefined;
        isCustomBpm?: boolean | undefined;
        musicalKey?: string | null | undefined;
        isCustomMusicalKey?: boolean | undefined;
        audioAnalysisErrorCount?: number | undefined;
        commentsDisabled?: boolean | undefined;
        isScheduledRelease?: boolean | undefined;
    }, {
        title: string;
        description?: string | undefined;
        trackId?: string | undefined;
        aiAttributionUserId?: string | undefined;
        fieldVisibility?: {
            mood?: boolean | undefined;
            tags?: boolean | undefined;
            genre?: boolean | undefined;
            share?: boolean | undefined;
            playCount?: boolean | undefined;
            remixes?: boolean | undefined;
        } | undefined;
        mood?: Mood | null | undefined;
        tags?: string | undefined;
        genre?: Genre | null | undefined;
        isrc?: string | null | undefined;
        isUnlisted?: boolean | undefined;
        iswc?: string | null | undefined;
        license?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        remixOf?: {
            tracks: {
                parentTrackId: string;
            }[];
        } | undefined;
        stemOf?: {
            parentTrackId: string;
            category?: import("../..").StemCategory | undefined;
        } | undefined;
        duration?: number | undefined;
        previewStartSeconds?: number | undefined;
        placementHosts?: string | undefined;
        audioUploadId?: string | undefined;
        trackCid?: string | undefined;
        previewCid?: string | undefined;
        origFileCid?: string | undefined;
        origFilename?: string | undefined;
        isDownloadable?: boolean | undefined;
        isOriginalAvailable?: boolean | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        resourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        indirectResourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        rightsController?: {
            name: string;
            roles: string[];
            rights_share_unknown?: string | undefined;
        } | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        bpm?: number | null | undefined;
        isCustomBpm?: boolean | undefined;
        musicalKey?: string | null | undefined;
        isCustomMusicalKey?: boolean | undefined;
        audioAnalysisErrorCount?: number | undefined;
        commentsDisabled?: boolean | undefined;
        isScheduledRelease?: boolean | undefined;
    }>, "many">;
    trackFiles: z.ZodArray<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
        buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }>, z.ZodType<File, z.ZodTypeDef, File>, z.ZodObject<{
        uri: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        type: z.ZodNullable<z.ZodString>;
        copyError: z.ZodOptional<z.ZodString>;
        fileCopyUri: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        size: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>]>, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>, "many">;
}, "strict", z.ZodTypeAny, {
    coverArtFile: (File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }) & (File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    } | undefined);
    metadata: {
        genre: Genre;
        albumName: string;
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    };
    userId: number;
    trackMetadatas: {
        title: string;
        description?: string | undefined;
        trackId?: number | undefined;
        aiAttributionUserId?: number | undefined;
        fieldVisibility?: {
            mood?: boolean | undefined;
            tags?: boolean | undefined;
            genre?: boolean | undefined;
            share?: boolean | undefined;
            playCount?: boolean | undefined;
            remixes?: boolean | undefined;
        } | undefined;
        mood?: Mood | null | undefined;
        tags?: string | undefined;
        genre?: Genre | null | undefined;
        isrc?: string | null | undefined;
        isUnlisted?: boolean | undefined;
        iswc?: string | null | undefined;
        license?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        remixOf?: {
            tracks: {
                parentTrackId: number;
            }[];
        } | undefined;
        stemOf?: {
            parentTrackId: number;
            category: import("../..").StemCategory;
        } | undefined;
        duration?: number | undefined;
        previewStartSeconds?: number | undefined;
        placementHosts?: string | undefined;
        audioUploadId?: string | undefined;
        trackCid?: string | undefined;
        previewCid?: string | undefined;
        origFileCid?: string | undefined;
        origFilename?: string | undefined;
        isDownloadable?: boolean | undefined;
        isOriginalAvailable?: boolean | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        resourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        indirectResourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        rightsController?: {
            name: string;
            roles: string[];
            rights_share_unknown?: string | undefined;
        } | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        bpm?: number | null | undefined;
        isCustomBpm?: boolean | undefined;
        musicalKey?: string | null | undefined;
        isCustomMusicalKey?: boolean | undefined;
        audioAnalysisErrorCount?: number | undefined;
        commentsDisabled?: boolean | undefined;
        isScheduledRelease?: boolean | undefined;
    }[];
    trackFiles: (File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    })[];
    onProgress?: ((...args: unknown[]) => unknown) | undefined;
}, {
    coverArtFile: (File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }) & (File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    } | undefined);
    metadata: {
        genre: Genre;
        albumName: string;
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    };
    userId: string;
    trackMetadatas: {
        title: string;
        description?: string | undefined;
        trackId?: string | undefined;
        aiAttributionUserId?: string | undefined;
        fieldVisibility?: {
            mood?: boolean | undefined;
            tags?: boolean | undefined;
            genre?: boolean | undefined;
            share?: boolean | undefined;
            playCount?: boolean | undefined;
            remixes?: boolean | undefined;
        } | undefined;
        mood?: Mood | null | undefined;
        tags?: string | undefined;
        genre?: Genre | null | undefined;
        isrc?: string | null | undefined;
        isUnlisted?: boolean | undefined;
        iswc?: string | null | undefined;
        license?: string | null | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            nftCollection?: {
                name: string;
                address: string;
                chain: "eth";
                standard: "ERC721" | "ERC1155";
                slug: string;
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | {
                name: string;
                address: string;
                chain: "sol";
                imageUrl?: string | undefined;
                externalLink?: string | null | undefined;
            } | undefined;
        } | {
            followUserId: number;
        } | {
            tipUserId: number;
        } | {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        remixOf?: {
            tracks: {
                parentTrackId: string;
            }[];
        } | undefined;
        stemOf?: {
            parentTrackId: string;
            category?: import("../..").StemCategory | undefined;
        } | undefined;
        duration?: number | undefined;
        previewStartSeconds?: number | undefined;
        placementHosts?: string | undefined;
        audioUploadId?: string | undefined;
        trackCid?: string | undefined;
        previewCid?: string | undefined;
        origFileCid?: string | undefined;
        origFilename?: string | undefined;
        isDownloadable?: boolean | undefined;
        isOriginalAvailable?: boolean | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        resourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        indirectResourceContributors?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        rightsController?: {
            name: string;
            roles: string[];
            rights_share_unknown?: string | undefined;
        } | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        bpm?: number | null | undefined;
        isCustomBpm?: boolean | undefined;
        musicalKey?: string | null | undefined;
        isCustomMusicalKey?: boolean | undefined;
        audioAnalysisErrorCount?: number | undefined;
        commentsDisabled?: boolean | undefined;
        isScheduledRelease?: boolean | undefined;
    }[];
    trackFiles: (File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    })[];
    onProgress?: ((...args: unknown[]) => unknown) | undefined;
}>;
export type UploadAlbumRequest = z.input<typeof UploadAlbumSchema>;
export declare const UpdateAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
    coverArtFile: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodObject<{
        buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }, {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    }>, z.ZodType<File, z.ZodTypeDef, File>, z.ZodObject<{
        uri: z.ZodString;
        name: z.ZodNullable<z.ZodString>;
        type: z.ZodNullable<z.ZodString>;
        copyError: z.ZodOptional<z.ZodString>;
        fileCopyUri: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        size: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
    }, "strip", z.ZodTypeAny, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>]>, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }, File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    }>>;
    metadata: z.ZodObject<{
        description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        license: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        isStreamGated: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        streamConditions: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>>>>;
        isDownloadGated: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        downloadConditions: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodObject<{
            usdcPurchase: z.ZodObject<{
                price: z.ZodNumber;
                splits: z.ZodAny;
            }, "strip", z.ZodTypeAny, {
                price: number;
                splits?: any;
            }, {
                price: number;
                splits?: any;
            }>;
        }, "strict", z.ZodTypeAny, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }, {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        }>>>>;
        releaseDate: z.ZodOptional<z.ZodOptional<z.ZodDate>>;
        ddexReleaseIds: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>>;
        ddexApp: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        artists: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
            name: z.ZodString;
            roles: z.ZodArray<z.ZodString, "many">;
            sequence_number: z.ZodOptional<z.ZodNumber>;
        }, "strict", z.ZodTypeAny, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }, {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }>, "many">>>>;
        copyrightLine: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>>;
        producerCopyrightLine: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodObject<{
            year: z.ZodString;
            text: z.ZodString;
        }, "strict", z.ZodTypeAny, {
            year: string;
            text: string;
        }, {
            year: string;
            text: string;
        }>>>>;
        parentalWarningType: z.ZodOptional<z.ZodOptional<z.ZodNullable<z.ZodString>>>;
        isScheduledRelease: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        isPrivate: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        upc: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        albumName: z.ZodOptional<z.ZodString>;
        genre: z.ZodOptional<z.ZodEnum<[Genre, ...Genre[]]>>;
        mood: z.ZodOptional<z.ZodOptional<z.ZodEnum<[Mood, ...Mood[]]>>>;
        tags: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, "strict", z.ZodTypeAny, {
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        albumName?: string | undefined;
        genre?: Genre | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    }, {
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        albumName?: string | undefined;
        genre?: Genre | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    }>;
    onProgress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
}, "strict", z.ZodTypeAny, {
    metadata: {
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        albumName?: string | undefined;
        genre?: Genre | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    };
    userId: number;
    albumId: number;
    coverArtFile?: File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    } | undefined;
    onProgress?: ((...args: unknown[]) => unknown) | undefined;
}, {
    metadata: {
        description?: string | undefined;
        license?: string | undefined;
        isStreamGated?: boolean | undefined;
        streamConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        isDownloadGated?: boolean | undefined;
        downloadConditions?: {
            usdcPurchase: {
                price: number;
                splits?: any;
            };
        } | null | undefined;
        releaseDate?: Date | undefined;
        ddexReleaseIds?: Record<string, string> | null | undefined;
        ddexApp?: string | undefined;
        artists?: {
            name: string;
            roles: string[];
            sequence_number?: number | undefined;
        }[] | null | undefined;
        copyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        producerCopyrightLine?: {
            year: string;
            text: string;
        } | null | undefined;
        parentalWarningType?: string | null | undefined;
        isScheduledRelease?: boolean | undefined;
        isPrivate?: boolean | undefined;
        upc?: string | undefined;
        albumName?: string | undefined;
        genre?: Genre | undefined;
        mood?: Mood | undefined;
        tags?: string | undefined;
    };
    userId: string;
    albumId: string;
    coverArtFile?: File | {
        buffer: Buffer;
        name?: string | undefined;
        type?: string | undefined;
    } | {
        name: string | null;
        type: string | null;
        uri: string;
        copyError?: string | undefined;
        fileCopyUri?: string | null | undefined;
        size?: number | null | undefined;
    } | undefined;
    onProgress?: ((...args: unknown[]) => unknown) | undefined;
}>;
export type UpdateAlbumRequest = z.input<typeof UpdateAlbumSchema>;
export declare const DeleteAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
}, "strict", z.ZodTypeAny, {
    userId: number;
    albumId: number;
}, {
    userId: string;
    albumId: string;
}>;
export type DeleteAlbumRequest = z.input<typeof DeleteAlbumSchema>;
export declare const FavoriteAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
    metadata: z.ZodOptional<z.ZodObject<{
        /**
         * Is this a save of a repost? Used to dispatch notifications
         * when a user favorites another user's repost
         */
        isSaveOfRepost: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        isSaveOfRepost: boolean;
    }, {
        isSaveOfRepost: boolean;
    }>>;
}, "strict", z.ZodTypeAny, {
    userId: number;
    albumId: number;
    metadata?: {
        isSaveOfRepost: boolean;
    } | undefined;
}, {
    userId: string;
    albumId: string;
    metadata?: {
        isSaveOfRepost: boolean;
    } | undefined;
}>;
export type FavoriteAlbumRequest = z.input<typeof FavoriteAlbumSchema>;
export declare const UnfavoriteAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
}, "strict", z.ZodTypeAny, {
    userId: number;
    albumId: number;
}, {
    userId: string;
    albumId: string;
}>;
export type UnfavoriteAlbumRequest = z.input<typeof UnfavoriteAlbumSchema>;
export declare const RepostAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
    metadata: z.ZodOptional<z.ZodObject<{
        /**
         * Is this a repost of a repost? Used to dispatch notifications
         * when a user favorites another user's repost
         */
        isRepostOfRepost: z.ZodBoolean;
    }, "strip", z.ZodTypeAny, {
        isRepostOfRepost: boolean;
    }, {
        isRepostOfRepost: boolean;
    }>>;
}, "strict", z.ZodTypeAny, {
    userId: number;
    albumId: number;
    metadata?: {
        isRepostOfRepost: boolean;
    } | undefined;
}, {
    userId: string;
    albumId: string;
    metadata?: {
        isRepostOfRepost: boolean;
    } | undefined;
}>;
export type RepostAlbumRequest = z.input<typeof RepostAlbumSchema>;
export declare const UnrepostAlbumSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
}, "strict", z.ZodTypeAny, {
    userId: number;
    albumId: number;
}, {
    userId: string;
    albumId: string;
}>;
export type UnrepostAlbumRequest = z.input<typeof UnrepostAlbumSchema>;
export declare const GetPurchaseAlbumInstructionsSchema: z.ZodObject<{
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
    price: z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>;
    extraAmount: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>>;
    includeNetworkCut: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    userId: number;
    price: number | bigint;
    albumId: number;
    extraAmount?: number | bigint | undefined;
    includeNetworkCut?: boolean | undefined;
}, {
    userId: string;
    price: number | bigint;
    albumId: string;
    extraAmount?: number | bigint | undefined;
    includeNetworkCut?: boolean | undefined;
}>;
export type GetPurchaseAlbumInstructionsRequest = z.input<typeof GetPurchaseAlbumInstructionsSchema>;
export declare const PurchaseAlbumSchema: z.ZodObject<{
    wallet: z.ZodOptional<z.ZodUnion<[z.ZodEffects<z.ZodString, import("@solana/web3.js").PublicKey, string>, z.ZodType<import("@solana/web3.js").PublicKey, z.ZodTypeDef, import("@solana/web3.js").PublicKey>]>>;
    walletAdapter: z.ZodOptional<z.ZodType<Pick<WalletAdapter, "publicKey" | "sendTransaction">, z.ZodTypeDef, Pick<WalletAdapter, "publicKey" | "sendTransaction">>>;
    userId: z.ZodEffects<z.ZodString, number, string>;
    albumId: z.ZodEffects<z.ZodString, number, string>;
    price: z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>;
    extraAmount: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodBigInt]>>;
    includeNetworkCut: z.ZodOptional<z.ZodBoolean>;
}, "strict", z.ZodTypeAny, {
    userId: number;
    price: number | bigint;
    albumId: number;
    wallet?: import("@solana/web3.js").PublicKey | undefined;
    walletAdapter?: Pick<WalletAdapter, "publicKey" | "sendTransaction"> | undefined;
    extraAmount?: number | bigint | undefined;
    includeNetworkCut?: boolean | undefined;
}, {
    userId: string;
    price: number | bigint;
    albumId: string;
    wallet?: string | import("@solana/web3.js").PublicKey | undefined;
    walletAdapter?: Pick<WalletAdapter, "publicKey" | "sendTransaction"> | undefined;
    extraAmount?: number | bigint | undefined;
    includeNetworkCut?: boolean | undefined;
}>;
export type PurchaseAlbumRequest = z.input<typeof PurchaseAlbumSchema>;
