///
///
///
///
declare const _default: {
register: ({ strapi }: {
strapi: import('@strapi/types/dist/core').Strapi;
}) => void;
bootstrap: ({ strapi }: {
strapi: import('@strapi/types/dist/core').Strapi;
}) => Promise;
destroy: ({ strapi }: {
strapi: import('@strapi/types/dist/core').Strapi;
}) => void;
config: {
default: {
modelId: string;
maxChars: number;
voiceCatalog: {
voice_id: string;
name: string;
category?: string;
}[];
voicesListCacheTtlMs: number;
ttsDryRun: boolean;
ttsRequestTimeoutMs: number;
};
validator(): void;
};
controllers: {
narration: ({ strapi }: {
strapi: import('@strapi/types/dist/core').Strapi;
}) => {
settingsStatus(ctx: import('koa').Context): Promise;
providers(ctx: import('koa').Context): Promise;
pluginInfo(ctx: import('koa').Context): Promise;
voices(ctx: import('koa').Context): Promise;
generate(ctx: import('koa').Context): Promise;
testTts(ctx: import('koa').Context): Promise;
};
};
routes: {
"content-api": {
type: "content-api";
routes: readonly [];
};
/**
* Plugin server methods
*/
admin: {
type: "admin";
routes: ({
config: {
policies: string[];
auth: {
scope: string[];
};
};
method: "GET";
path: "/providers";
handler: "narration.providers";
} | {
config: {
policies: string[];
auth: {
scope: string[];
};
};
method: "GET";
path: "/voices";
handler: "narration.voices";
} | {
config: {
policies: string[];
auth: {
scope: string[];
};
};
method: "POST";
path: "/generate";
handler: "narration.generate";
} | {
config: {
policies: string[];
auth: {
scope: string[];
};
};
method: "POST";
path: "/test-tts";
handler: "narration.testTts";
} | {
config: {
policies: string[];
auth: {
scope: string[];
};
};
method: "GET";
path: "/configuration-status";
handler: "narration.settingsStatus";
} | {
config: {
policies: string[];
auth: {
scope: string[];
};
};
method: "GET";
path: "/plugin-info";
handler: "narration.pluginInfo";
})[];
};
};
services: {
elevenlabs: ({ strapi }: {
strapi: import('@strapi/types/dist/core').Strapi;
}) => {
isApiKeyConfigured(): boolean;
listVoices(): Promise;
textToSpeechMp3(params: {
voiceId: string;
text: string;
modelId?: string;
narrationRequestId: string;
signal?: AbortSignal;
}): Promise;
};
narration: ({ strapi }: {
strapi: import('@strapi/types/dist/core').Strapi;
}) => {
synthesizeSpeechMp3: (params: {
voiceId: string;
text: string;
narrationRequestId: string;
signal?: AbortSignal;
}) => Promise;
generateFromAdmin(body: {
uid: string;
documentId: string;
attributeName: string;
locale?: string;
values?: Record;
voiceId: string;
}, opts: {
user?: {
id: number;
};
narrationRequestId?: string;
}): Promise<{
textLength: number;
fileId: string | number;
narrationRequestId: string;
}>;
};
};
contentTypes: {};
policies: {};
middlewares: {};
};
export default _default;