import type { PdfAnnotationController, PdfAnnotationToolId } from './pdf-annotation-controller'; import type { PdfViewerController } from './pdf-viewer-controller'; import type { PdfPageOrganizationController } from './use-pdf-page-organization'; import { type OfficeEditorCanCommands, type OfficeEditorExtension } from './office-editor-extension'; export interface PdfEditorCommands { actualSize: () => void; clearSearch: () => void; deleteAnnotationSelection: () => void; fitPage: () => void; fitWidth: () => void; deletePages: (pageIndexes: number[]) => Promise; extractPages: (pageIndexes: number[]) => Promise; goToPage: (page: number) => void; nextPage: () => void; nextSearchResult: () => void; insertBlankPage: (index: number) => Promise; mergePages: (index: number, source: Blob) => Promise; openPageOrganizer: () => void; previousPage: () => void; previousSearchResult: () => void; redo: () => void; reorderPages: (pageOrder: number[]) => Promise; rotatePages: (pageIndexes: number[], degrees: 90 | 180 | 270) => Promise; save: () => Promise; search: (query: string) => void; setAnnotationColor: (color: string) => void; setAnnotationOpacity: (opacity: number) => void; setAnnotationStrokeWidth: (strokeWidth: number) => void; selectAnnotationTool: (toolId: PdfAnnotationToolId | null) => void; splitPages: (splitAfterPageIndexes: number[]) => Promise; undo: () => void; zoomIn: () => void; zoomOut: () => void; } export type PdfEditorCanCommands = OfficeEditorCanCommands; export interface PdfEditorCommandContext { annotation: PdfAnnotationController; editable: boolean; focusSearch: () => void; openPageOrganizer: () => void; pages: PdfPageOrganizationController; save: { enabled: boolean; execute: () => Promise; }; viewer: PdfViewerController; } export declare function createPdfEditorExtensions(): readonly OfficeEditorExtension[];