import { UserAccess, SharedAccessMode, SharedDocumentInfo, ModificationType, ModificationsState } from "../SharedDocuments/types"; import { AnnotationBase } from "../Annotations/AnnotationTypes"; import { ClientRequestType, ClientMessage, ClientMessageType } from "./Connection/ClientMessage"; import { ServerMessage, StartSharedModeResponse } from "./Connection/ServerMessage"; import { ProgressDialogSink } from "../Dialogs/Types"; import { OpenDocumentInfo } from "./types"; import { ISupportApiBase } from "./ISupportApiBase"; export interface ISupportApi extends ISupportApiBase { status: 'opening' | 'opening-shared' | 'opened-shared' | 'opened' | 'closed'; hasPersistentConnection?: boolean; sharedAccessMode: SharedAccessMode; userAccessList: UserAccess[]; listAllUsers(): Promise; listUsersWithAccess(): Promise; listSharedDocuments(): Promise; modifySharedDocument(type: ModificationType, data?: { pageIndex: number; annotation: AnnotationBase; } | { pageIndex: number; annotationId: string; } | { resultStructure: number[]; structureChanges: { pageIndex: number; add: boolean; checkNumPages: number; }[]; pdfInfo: { numPages: number; fingerprint: string; }; }): void; openSharedDocument(documentId: string): Promise; shareDocument(userName: string, accessMode: SharedAccessMode, modificationsState: ModificationsState, startSharedMode: boolean): Promise; startSharedMode(): Promise; stopSharedMode(): Promise; onPushMessage(message: ServerMessage): void; unshareDocument(userName: string): Promise; sendMessage(type: ClientMessageType, messageData: Partial): void; sendRequest(type: ClientRequestType, messageData: Partial): Promise; downloadFiles(fileIds: string[], sink?: ProgressDialogSink): Promise; getStampImageUrl(categoryId: string, imageName: string, enableCache: boolean): string; }