import type { PPTElement, PPTTableElement, PPTTextElement } from '../types/slides'; import type { FikaRevealOptions } from './reveal'; interface CellPlan { row: number; col: number; units: number; } type TypedPlan = { kind: 'text'; element: PPTTextElement; units: number; } | { kind: 'table'; element: PPTTableElement; units: number; cells: CellPlan[]; }; interface Plan { instant: PPTElement[]; /** Background shape ID → first contained typed element ID. */ backgrounds: Map; typed: TypedPlan[]; staggerGap: number; staggerMs: number; typingMs: number; /** Cumulative end offsets (ms, from typing start) per typed element. */ typedEnds: number[]; } export declare function buildPlan(elements: PPTElement[], options: FikaRevealOptions): Plan; /** Elements visible at `elapsed` ms, in their final order. */ export declare function frameElements(plan: Plan, finalElements: PPTElement[], elapsed: number): { elements: PPTElement[]; activeId: string | null; }; export {};