/// /// /// /// 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;