import GcPdfViewer from ".."; import { AnnotationBase } from "../Annotations/AnnotationTypes"; import { OpenParameters } from "./ViewerTypes"; export type EventName = "ErrorEvent" | "BeforeOpenEvent" | "AfterOpenEvent" | "ThemeChangedEvent" | "BeforeAddAnnotation" | "AfterAddAnnotation" | "BeforeUpdateAnnotation" | "AfterUpdateAnnotation" | "BeforeRemoveAnnotation" | "AfterRemoveAnnotation"; export type EventArgs = { eventName?: EventName; source?: GcPdfViewer; }; export type CancelEventArgs = { cancel?: boolean; } & EventArgs; export type ErrorEventArgs = { readonly message: string; readonly type: 'open' | string; readonly exception?: any; } & EventArgs; export type BeforeOpenEventArgs = { readonly payload: Uint8Array | string; readonly openParameters?: OpenParameters; readonly type: 'binary' | 'url'; } & EventArgs; export type AfterOpenEventArgs = {} & EventArgs; export type ThemeChangedEventArgs = { readonly theme: string; } & EventArgs; export type BaseAnnotationEventArgs = { pageIndex: number; annotation: AnnotationBase; } & EventArgs; export type BaseAnnotationCancelEventArgs = {} & BaseAnnotationEventArgs & CancelEventArgs; export type BeforeAddAnnotationEventArgs = { annotationElement?: HTMLElement; } & BaseAnnotationCancelEventArgs; export type AfterAddAnnotationEventArgs = {} & BaseAnnotationEventArgs; export type BeforeUpdateAnnotationEventArgs = {} & BaseAnnotationCancelEventArgs; export type AfterUpdateAnnotationEventArgs = {} & BaseAnnotationEventArgs; export type BeforeRemoveAnnotationEventArgs = {} & BaseAnnotationCancelEventArgs; export type AfterRemoveAnnotationEventArgs = {} & BaseAnnotationEventArgs;