import { PptxAppProperties, PptxCoreProperties, PptxCustomProperty, PptxHandler, PptxPresentationProperties, PptxSection, PptxSlide, PptxTheme } from 'pptx-viewer-core'; import { PptxAiBridge, PptxAiNotifyLevel } from 'pptx-viewer-shared/ai'; /** Live editor accessors the bridge closes over (all read from viewer runes). */ export interface SvelteAiBridgeDeps { /** The editable slides array (the single source of truth the AI mutates). */ getSlides(): PptxSlide[]; /** Zero-based index of the active slide. */ getActiveSlideIndex(): number; /** Slide canvas size in CSS pixels. */ getCanvasSize(): { width: number; height: number; }; /** The resolved presentation theme, when available. */ getTheme(): PptxTheme | undefined; /** The loaded core handler, or null before a deck is open. */ getHandler(): PptxHandler | null; /** Optional display file name, used as a friendly deck title. */ getFileName(): string | undefined; /** Navigate the viewer to a slide by zero-based index. */ goToSlide(index: number): void; /** Select elements on a slide (navigates first when off-slide). */ selectElements(slideIndex: number, elementIds: string[]): void; /** * Install a new slides array as ONE undoable history entry. The * implementation is responsible for ensuring the editor is editable (so the * commit is not silently dropped) before recording the step. */ commitSlides(next: PptxSlide[], label: string): void; /** Apply partial theme updates (colour/font scheme) and re-render. */ applyTheme(updates: Partial): void; /** Optional host notification sink (status line / toast / console). */ notify?(message: string, level?: PptxAiNotifyLevel): void; /** Deck sections (editor-tracked, undoable). */ getSections(): PptxSection[]; /** Deck-wide slide-show / print settings (editor-tracked, undoable). */ getPresentationProperties(): PptxPresentationProperties; /** Document core properties (Title / Author / ...), when present. */ getCoreProperties(): PptxCoreProperties | undefined; /** Application properties (Company / Application), when present. */ getAppProperties(): PptxAppProperties | undefined; /** Custom document-property list (editor-tracked, undoable). */ getCustomProperties(): PptxCustomProperty[]; /** Resize the slide canvas (loader value + editor history entry). */ setCanvasSize(size: { width: number; height: number; }): void; /** Replace the section list. */ setSections(sections: PptxSection[]): void; /** Replace the deck-wide presentation properties. */ setPresentationProperties(props: PptxPresentationProperties): void; /** * Replace the document properties as one unit. Svelte's editor commits * core / app / custom together, so the bridge fans all three through here. */ setDocumentProperties(core: PptxCoreProperties, app: PptxAppProperties, custom: PptxCustomProperty[]): void; } /** Build the AI bridge that exposes the live Svelte viewer to the AI core. */ export declare function createSvelteAiBridge(deps: SvelteAiBridgeDeps): PptxAiBridge; //# sourceMappingURL=ai-bridge.d.ts.map