/// import { implFetchUser, type User } from '../../implementation/index.js'; import type Client from '../../index.js'; import { V2vAudioFile } from './v2vAudioFile/V2vAudioFile.js'; import { type V2vModelSchema } from './v2vModel.schema.js'; /** * A voice conversion model. * This is a model that can be used to convert audio from one voice to another. */ export declare class V2vModel implements User { #private; /** * @param client The main client. * @param data The raw model data from the FakeYou API. */ constructor(client: Client, data: V2vModelSchema); readonly client: Client; readonly token: string; readonly modelType: string; readonly title: string; readonly creatorUserToken: string; /** * @alias creatorUsername */ readonly username: string; readonly creatorUsername: string; readonly creatorDisplayName: string; readonly creatorGravatarHash: string; readonly creatorSetVisibility: 'public' | 'hidden'; readonly ietfLanguageTag: string; readonly ietfPrimaryLanguageSubtag: string; readonly isFrontPageFeatured: boolean; readonly createdAt: Date; readonly updatedAt: Date; /** * Infer uploaded audio to a new voice represented by this model. * * NOTE: Voice conversion models are very slow to infer. It may take multiple minutes for the inference to complete. * * @param audio The audio to infer as a wav file. * @returns The inferred audio file. Undefined if the audio could not be inferred. */ infer(audio: Buffer): Promise; /** * Fetch the profile of the user who created this model. */ fetchProfile: typeof implFetchUser; }