import { IUser, IWiki, ITemplate, IDocument, IAuthority } from "../models"; export declare type ICreateDocumentDto = { wikiId: IWiki["id"]; parentDocumentId?: IDocument["id"] | null; title?: string; templateId?: ITemplate["id"]; }; export declare type IUpdateDocumentDto = { content: string; state: Uint8Array; } & Pick; export declare type IShareDocumentDto = { sharePassword?: string; }; export declare type IDocumentAuthorityDto = { documentId: IDocument["id"]; userName: IUser["name"]; readable: boolean; editable: boolean; }; export declare abstract class IDocumentService { createLoading: boolean; createError: any; documentsDetail: Map; getDocumentDetailLoading: boolean; getDocumentDetailError: any; updateDocumentLoading: boolean; updateDocumentError: any; deleteDocumentLoading: boolean; deleteDocumentError: any; documentsChildren: Map; getDocumentChildrenLoading: boolean; getDocumentChildrenError: any; publicDocumentsChildren: Map; getPublicDocumentChildrenLoading: boolean; getPublicDocumentChildrenError: any; shareLoading: boolean; shareError: any; documentsUsers: Map; getDocumentUsersLoading: boolean; getDocumentUsersError: any; addDocumentUserLoading: boolean; addDocumentUserError: any; updateDocumentUserLoading: boolean; updateDocumentUserError: any; deleteDocumentUserLoading: boolean; deleteDocumentUserError: any; recentlyViewedDocuments: any[]; getRecentlyViewedDocumentsLoading: boolean; getRecentlyViewedDocumentsError: any; publicDocumentsDetail: Map; getPublicDocumentDetailLoading: boolean; getPublicDocumentDetailError: any; abstract createDocument(data: ICreateDocumentDto, user?: IUser): Promise; abstract getDocumentDetail(id: IDocument["id"], user: IUser): Promise; abstract updateDocument(id: IDocument["id"], data: IUpdateDocumentDto, user?: IUser): Promise; abstract deleteDocument(id: IDocument["id"], user?: IUser): Promise; abstract getDocumentChidren(wikiId: IWiki["id"], documentId: IDocument["id"], user?: IUser): Promise; abstract shareDocument(id: IDocument["id"], data: IShareDocumentDto, user?: IUser): Promise; abstract getDocumentUsers(id: IDocument["id"], user?: IUser): Promise>; abstract addDocumentUser(data: IDocumentAuthorityDto, user?: IUser): Promise; abstract updateDocumentUser(data: IDocumentAuthorityDto, user?: IUser): Promise; abstract deleteDocumentUser(data: IDocumentAuthorityDto, user?: IUser): Promise; abstract getRecentlyViewedDocuments(user?: IUser): Promise; abstract getPublicDocumentDetail(id: IDocument["id"], data?: IShareDocumentDto, userAgent?: string): any; abstract getPublicDocumentChildren(wikiId: IWiki["id"], documentId: IDocument["id"]): Promise; }