import { SlidePlayWorker } from "../ability/slide/SlidePlayWorker";
import type { OolongSlideContainer } from "../graphics/OolongSlideContainer";
import { GraphicNode } from "../graphics";
import { AppEventContext, DocState } from "../app";
import { SlideCoverManager } from "./SlideCoverManager";
export declare class SlideManager {
    slidePlayWorker: SlidePlayWorker;
    slideCoverManager: SlideCoverManager;
    constructor();
    init(appCtx: AppEventContext): void;
    start(): void;
    stop(): void;
    enterEditing(ctx: AppEventContext): void;
    exitEditing(ctx: AppEventContext): void;
    jumpTo(docState: DocState, index: number): string | null;
    jumpToWhenEditing(index: number, ctx: AppEventContext): void;
    enterPlayBySlideContainer(ctx: AppEventContext, container: OolongSlideContainer): void;
    enterPlay(ctx: AppEventContext): void;
    playToNext(ctx: AppEventContext): void;
    playToPrev(ctx: AppEventContext): void;
    /**
     * 在指定位置插入新的幻灯片节点
     * @param container 幻灯片容器节点
     * @param referenceIndex 参照节点的索引（展平后的全局索引）
     * @param isNext true表示在参照节点之后插入，false表示在参照节点之前插入
     * @param ctx 应用事件上下文
     * @returns 新创建的节点，如果插入失败则返回 null
     */
    insertSlide(container: OolongSlideContainer, referenceIndex: number, isNext: boolean, ctx: AppEventContext): GraphicNode | null;
    exitPlay(ctx: AppEventContext): void;
    refocusSlide(ctx: AppEventContext, padding?: number): void;
    unGroupSlideContainerBySelective(ctx: AppEventContext): void;
    unGroupSlideContainer(container: OolongSlideContainer, ctx: AppEventContext): void;
    private getChildIdByIndex;
    /**
     * 将展平的index转换为行列位置
     * @param children 幻灯片行数组
     * @param index 展平后的全局索引
     * @returns 行索引和列索引
     */
    private getRowColByIndex;
    updateSlideCover(node: GraphicNode, ctx: AppEventContext): void;
    updateSlideContainerCover(ctx: AppEventContext): Promise<void>;
    /**
     * 更新受影响的slideContainer：移除已删除的节点ID，重新布局，更新bounds
     */
    updateSlideContainers(slideContainers: Set<OolongSlideContainer>, deletedIds: Set<string>, context: AppEventContext): void;
}
//# sourceMappingURL=SlideManager.d.ts.map