import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient"; import { type NormalizedClientOptions } from "../../../../BaseClient"; import * as core from "../../../../core"; import * as ElevenLabs from "../../../index"; import { CompositionPlanClient } from "../resources/compositionPlan/client/Client"; export declare namespace MusicClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class MusicClient { protected readonly _options: NormalizedClientOptions; protected _compositionPlan: CompositionPlanClient | undefined; constructor(options?: MusicClient.Options); get compositionPlan(): CompositionPlanClient; /** * Compose a song from a prompt or a composition plan. * @throws {@link ElevenLabs.UnprocessableEntityError} */ compose(request?: ElevenLabs.BodyComposeMusicV1MusicPost, requestOptions?: MusicClient.RequestOptions): core.HttpResponsePromise>; private __compose; /** * Compose a song from a prompt or a composition plan. * @throws {@link ElevenLabs.UnprocessableEntityError} */ composeDetailed(request?: ElevenLabs.BodyComposeMusicWithADetailedResponseV1MusicDetailedPost, requestOptions?: MusicClient.RequestOptions): core.HttpResponsePromise>; private __composeDetailed; /** * Stream a composed song from a prompt or a composition plan. * @throws {@link ElevenLabs.UnprocessableEntityError} */ stream(request?: ElevenLabs.BodyStreamComposedMusicV1MusicStreamPost, requestOptions?: MusicClient.RequestOptions): core.HttpResponsePromise>; private __stream; /** * Upload a music file to be later used for inpainting. Only available to enterprise clients with access to the inpainting feature. * * @param {ElevenLabs.BodyUploadMusicV1MusicUploadPost} request * @param {MusicClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link ElevenLabs.UnprocessableEntityError} * * @example * import { createReadStream } from "fs"; * await client.music.upload({ * file: fs.createReadStream("/path/to/your/file") * }) */ upload(request: ElevenLabs.BodyUploadMusicV1MusicUploadPost, requestOptions?: MusicClient.RequestOptions): core.HttpResponsePromise; private __upload; /** * Separate an audio file into individual stems. This endpoint might have high latency, depending on the length of the audio file. * @throws {@link ElevenLabs.UnprocessableEntityError} */ separateStems(request: ElevenLabs.BodyStemSeparationV1MusicStemSeparationPost, requestOptions?: MusicClient.RequestOptions): core.HttpResponsePromise>; private __separateStems; }