export declare class LosingChangesWatcherSingleton {
    private static _instance;
    private watchers;
    private static evtHandlersHolder;
    private constructor();
    static get instance(): LosingChangesWatcherSingleton;
    add(watcher: ILosingChangesWatcher): void;
    remove(watcher: ILosingChangesWatcher): void;
    private onWindowBeforeUnload;
    private getConfirmMessage;
    private getModifiedWatchers;
}
export interface ILosingChangesWatcher {
    hasChanges(): boolean;
    getConfirmMessage(): string;
    confirm(): boolean;
    dispose(): any;
}
export declare class LosingChangesWatcher implements ILosingChangesWatcher {
    private hasChangesCallback;
    private confirmMessage;
    constructor(hasChangesCallback: () => boolean, confirmMessage: string);
    hasChanges(): boolean;
    getConfirmMessage(): string;
    confirm(): boolean;
    dispose(): void;
}
