/// import { EventEmitter } from 'events'; import KnowledgeServer from './knowledge_server'; import WizDb from '../db/wiz_db'; import { User, Note, NoteResource } from '../common/interface'; export interface SyncKbOptions { downloadTrashNotes?: boolean; noWait?: boolean; waitDownload?: boolean; manual?: boolean; uploadOnly?: boolean; downloadFirst?: boolean; callback?: (data: { error: Error | null; type?: string; status?: string; note?: Note; }) => void; } declare class SyncKbTask extends EventEmitter { _kbGuid: string; _ks: KnowledgeServer; _db: WizDb; _user: User; _isRunning: boolean; _options: SyncKbOptions; constructor(user: User, serverUrl: string, kbGuid: string, db: WizDb, invalidTokenHandler: () => Promise, options?: SyncKbOptions); get kbGuid(): string; syncAll(): Promise; uploadNotes(): Promise<{ uploadedCount: number; failedNotes: any[]; }>; downloadNoteData(noteGuid: string): Promise; uploadDeletedNotes(): Promise; downloadDeletedObjects(): Promise; downloadNotes(): Promise; reportStatus(error: Error | null, type?: string, status?: string, note?: Note): void; downloadNotesData(): Promise; downloadNoteResource(noteGuid: string, resName: string): Promise; downloadNoteResources(noteGuid: string, resources: NoteResource[]): Promise; } export default SyncKbTask;