import { RebookExtension, RebookExtensionCatalog } from '../core/extensions'; import { AIChatOptions } from './ai-chat'; import { BackendProfessionalTranslationOptions, TranslationOptions } from './translation'; import { TrialLimitOptions } from './trial-limit'; import { TTSOptions } from './tts'; export declare const TRIAL_LIMIT_EXTENSION_ID = "rebook.trial-limit"; export declare const TRANSLATION_EXTENSION_ID = "rebook.translation"; export declare const PROFESSIONAL_TRANSLATION_EXTENSION_ID = "rebook.professional-translation"; export declare const TTS_EXTENSION_ID = "rebook.tts"; export declare const AI_CHAT_EXTENSION_ID = "rebook.ai-chat"; export type BuiltInRebookExtensionName = 'trialLimit' | 'translation' | 'professionalTranslation' | 'tts' | 'aiChat'; export interface BuiltInRebookExtensionOptions { readonly trialLimit?: TrialLimitOptions; readonly translation?: TranslationOptions; readonly professionalTranslation?: BackendProfessionalTranslationOptions; readonly tts?: TTSOptions; readonly aiChat?: AIChatOptions; } export declare const trialLimitExtensionManifest: { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("reader" | "utility")[]; capabilities: ("book.transform" | "reader.access")[]; contributes: { settings: { maxPages: { type: "number"; default: number; }; }; }; }; export declare const translationExtensionManifest: { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "translation")[]; capabilities: ("translation" | "book.transform")[]; contributes: { settings: { targetLanguage: { type: "string"; default: string; }; mode: { type: "string"; enum: string[]; default: string; }; translateTOC: { type: "boolean"; default: boolean; }; }; }; }; export declare const professionalTranslationExtensionManifest: { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "translation")[]; capabilities: ("translation" | "book.transform")[]; contributes: { settings: { serviceBaseUrl: { type: "string"; }; bookId: { type: "string"; }; targetLanguage: { type: "string"; default: string; }; }; }; }; export declare const ttsExtensionManifest: { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "tts")[]; capabilities: ("book.transform" | "tts.playback")[]; contributes: { settings: { endpoint: { type: "string"; default: string; }; provider: { type: "string"; }; multiSpeaker: { type: "boolean"; default: boolean; }; }; }; }; export declare const aiChatExtensionManifest: { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "reader")[]; capabilities: ("ai.chat" | "book.transform" | "content.read" | "content.rewrite" | "search")[]; contributes: { commands: { id: string; title: string; }[]; panels: { id: string; title: string; }[]; settings: { maxToolSteps: { type: "number"; default: number; }; maxContextChars: { type: "number"; default: number; }; }; }; }; export declare const BUILT_IN_REBOOK_EXTENSION_MANIFESTS: readonly [{ id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("reader" | "utility")[]; capabilities: ("book.transform" | "reader.access")[]; contributes: { settings: { maxPages: { type: "number"; default: number; }; }; }; }, { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "translation")[]; capabilities: ("translation" | "book.transform")[]; contributes: { settings: { targetLanguage: { type: "string"; default: string; }; mode: { type: "string"; enum: string[]; default: string; }; translateTOC: { type: "boolean"; default: boolean; }; }; }; }, { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "translation")[]; capabilities: ("translation" | "book.transform")[]; contributes: { settings: { serviceBaseUrl: { type: "string"; }; bookId: { type: "string"; }; targetLanguage: { type: "string"; default: string; }; }; }; }, { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "tts")[]; capabilities: ("book.transform" | "tts.playback")[]; contributes: { settings: { endpoint: { type: "string"; default: string; }; provider: { type: "string"; }; multiSpeaker: { type: "boolean"; default: boolean; }; }; }; }, { id: string; name: string; displayName: string; version: string; publisher: string; description: string; categories: ("ai" | "reader")[]; capabilities: ("ai.chat" | "book.transform" | "content.read" | "content.rewrite" | "search")[]; contributes: { commands: { id: string; title: string; }[]; panels: { id: string; title: string; }[]; settings: { maxToolSteps: { type: "number"; default: number; }; maxContextChars: { type: "number"; default: number; }; }; }; }]; export declare function createBuiltInRebookExtensionCatalog(): RebookExtensionCatalog; export declare function createTrialLimitExtension(options?: TrialLimitOptions): RebookExtension; export declare function createTranslationExtension(options: TranslationOptions): RebookExtension; export declare function createProfessionalTranslationExtension(options: BackendProfessionalTranslationOptions): RebookExtension; export declare function createTTSExtension(options?: TTSOptions): RebookExtension; export declare function createAIChatExtension(options: AIChatOptions): RebookExtension; export declare function createBuiltInRebookExtensions(options: BuiltInRebookExtensionOptions): RebookExtension[]; //# sourceMappingURL=extensions.d.ts.map