import { type MutableRefObject } from 'react'; import type { WorkPresentationContent, WorkSlide, WorkSlideElement } from '../work-types'; import type { PresentationDesignMode } from './presentation-editor-types'; import type { OfficeTableDimensions } from './office-table-dimensions'; import type { PresentationTextValue } from './presentation-text-editor'; export interface PresentationElementCommands { addChart: () => void; addElement: (type: 'shape' | 'text') => void; addImage: (file: File) => Promise; addTable: (dimensions: OfficeTableDimensions) => void; groupSelection: () => boolean; instantiatePlaceholder: (definition: WorkSlideElement) => void; ungroupSelection: () => boolean; updateElement: (patch: Partial) => void; updateTextElement: (elementId: string, value: PresentationTextValue) => void; } export declare function usePresentationElementCommands({ activeElements, activeTargetId, content, contentRef, designMode, onChange, onEditElement, onSelectElements, selectedElementIds, selectedElements, selectedSlide, }: { activeElements: readonly WorkSlideElement[]; activeTargetId: string | undefined; content: WorkPresentationContent; contentRef: MutableRefObject; designMode: PresentationDesignMode; onChange: (content: WorkPresentationContent) => void; onEditElement: (id: string) => void; onSelectElements: (ids: readonly string[]) => void; selectedElementIds: readonly string[]; selectedElements: readonly WorkSlideElement[]; selectedSlide: WorkSlide; }): PresentationElementCommands;