import { IUser, IWiki, IWikiUser, WikiUserRole, WikiStatus, IDocument, IPagination } from "../models"; export declare type ICreateWikiDto = { name: string; description: string; cover: string; }; export declare type IUpdateWikiDto = Partial; export declare type IWikiUserDto = { userName: string; userRole: WikiUserRole; }; export declare type IShareWikiDto = { nextStatus: WikiStatus; publicDocumentIds?: IDocument["id"][]; privateDocumentIds?: IDocument["id"][]; }; export declare type IWikiTocRelation = { id: IDocument["id"]; parentDocumentId: IDocument["id"] | null; }; export declare abstract class IWikiService { createLoading: boolean; createError: any; allWikis: any[]; allWikisTotal: number; getAllWikisLoading: boolean; getAllWikisError: any; joinWikis: any[]; joinWikisTotal: number; getJoinWikisLoading: boolean; getJoinWikisError: any; ownWikis: any[]; ownWikisTotal: number; getOwnWikisLoading: boolean; getOwnWikisError: any; wikisDetail: Map; getWikiLoading: boolean; getWikiError: any; updateWikiLoading: boolean; updateWikiError: any; deleteWikiLoading: boolean; deleteWikiError: any; wikisHomeDocument: Map; getWikisHomeDocumentLoading: boolean; getWikisHomeDocumentError: any; wikiUsers: Map; getWikiUsersLoading: boolean; getWikiUsersError: any; addWikiUserLoading: boolean; addWikiUserError: any; updateWikiUserLoading: boolean; updateWikiUserError: any; deleteWikiUserLoading: boolean; deleteWikiUserError: any; wikisDocuments: Map; getWikisDocumentsLoading: boolean; getWikisDocumentsError: any; wikisTocs: Map; getWikisTocsLoading: boolean; getWikisTocsError: any; updateWikisTocsLoading: boolean; updateWikisTocsError: any; shareWikiLoading: boolean; shareWikiError: any; publicWikisHomeDocuments: Map; getPublictWikisHomeDocumentLoading: boolean; getPublicWikisHomeDocumentError: any; publicWikisTocs: Map; getPublicWikisTocsLoading: boolean; getPublicWikisTocsError: any; publicWikisDetail: Map; getPublicWikiLoading: boolean; getPublicWikiError: any; abstract createWiki(data: ICreateWikiDto, user?: IUser): Promise; abstract getUserAllWikis(pagination: IPagination, user?: IUser): Promise<{ data: IWiki[]; total: number; }>; abstract getUserOwnWikis(pagination: IPagination, user?: IUser): Promise<{ data: IWiki[]; total: number; }>; abstract getUserJoinWikis(pagination: IPagination, user?: IUser): Promise<{ data: IWiki[]; total: number; }>; abstract getWikiDetail(wikiId: IWiki["id"], user?: IUser): Promise; abstract updateWiki(wikiId: IWiki["id"], data: IUpdateWikiDto, user?: IUser): Promise; abstract deleteWiki(wikiId: IWiki["id"], user?: IUser): Promise; abstract getWikiHomeDocument(wikiId: IWiki["id"], user?: IUser): Promise; abstract getWikiUsers(wikiId: IWiki["id"], user?: IUser): Promise; abstract addWikiUser(wikiId: IWiki["id"], data: IWikiUserDto, user?: IUser): Promise; abstract updateWikiUser(wikiId: IWiki["id"], data: IWikiUserDto, user?: IUser): Promise; abstract deleteWikiUser(wikiId: IWiki["id"], data: IWikiUserDto, user?: IUser): Promise; abstract getWikiDocuments(wikiId: IWiki["id"], user?: IUser): Promise; abstract getWikiTocs(wikiId: IWiki["id"], user?: IUser): Promise; abstract updateWikiTocs(wikiId: IWiki["id"], relations: IWikiTocRelation[], user?: IUser): Promise; abstract shareWiki(wikiId: IWiki["id"], data: IShareWikiDto, user?: IUser): Promise; abstract getPublicWikiHomeDocument(wikiId: IWiki["id"]): Promise; abstract getPublicWikiTocs(wikiId: IWiki["id"]): Promise; abstract getPublicWikiDetail(wikiId: IWiki["id"]): Promise; }