/** * Single POST to narration generate — no Strapi admin client 401 replay. * `useFetchClient().post` retries the full request after token refresh on 401, which * would run TTS again and can double-charge ElevenLabs. */ export type NarrationGenerateSuccessPayload = { textLength: number; fileId: number | string; narrationRequestId: string; }; type StrapiWrappedBody = { data: NarrationGenerateSuccessPayload; }; export declare function getAdminBackendBaseUrl(): string; /** Same shape as Strapi admin `FetchError` for `formatGenerateErrorMessage`. */ export declare class NarrationGenerateRequestError extends Error { readonly response?: { data: { error?: { message?: string; details?: Record; }; }; }; constructor(message: string, response?: NarrationGenerateRequestError["response"]); } export declare function postNarrationGenerateOnce(payload: { uid: string; documentId: string; attributeName: string; locale: string | null; values: Record; voiceId: string; }, token: string | null): Promise<{ data: StrapiWrappedBody; }>; export {};