/// import { SynFinalReport } from "./SynFinalReport"; import { UserSettings } from "./UserSettings"; import { Song } from "./Song"; import * as events from 'strongly-typed-events'; import { PlayMusicCaller } from "./PlayMusicCaller"; import { ISimpleEvent } from "strongly-typed-events"; import { SynProgress, LongTaskProgress } from "./SynProgress"; import * as Loki from 'lokijs'; export declare class SynManager { protected _onSyncProgress: events.SimpleEventDispatcher; protected _onSyncMessage: events.SimpleEventDispatcher; protected _onLongTaskProgress: events.SimpleEventDispatcher; protected _onSyncTerminated: events.SimpleEventDispatcher; readonly onSyncProgress: ISimpleEvent; readonly onSyncMessage: ISimpleEvent; readonly onLongTaskProgress: ISimpleEvent; readonly onSyncTerminated: ISimpleEvent; userSettings: UserSettings; synReport: SynFinalReport; protected playMusic: PlayMusicCaller; constructor(userSettings: UserSettings); prepareSynchronisation(): Promise; applySynchronisation(): Promise; protected escapeRegExp(str: string): string; protected searchSongMatching(toSearch: Song, collection: Loki.Collection): T; /** * Helper method */ protected searchSongMatchingText(title: string, artist: string, album: string, duration: number, rating: number, collection: Loki.Collection): T; /** * First match test * @param toSearch * @param collection */ protected searchSongExactMatching(toSearch: Song, collection: Loki.Collection): T; /** * Second match test * @param toSearch * @param collection */ protected searchSongTitleAlbumAndTimeMatching(toSearch: Song, collection: Loki.Collection): T; /** * Third match test * @param toSearch * @param collection */ protected searchSongTitleArtistAndTimeMatching(toSearch: Song, collection: Loki.Collection): T; /** * Fourth match test * @param toSearch * @param collection */ protected searchSongArtistAlbumAndTimeMatching(toSearch: Song, collection: Loki.Collection): T; /** * Fifth match test * @param toSearch * @param collection */ protected searchTitleAndDurationAndNoAlbumOrArtistMatching(toSearch: Song, collection: Loki.Collection): T; }