/**
* Copyright 2023 Kapeta Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
///
import { SourceOfChange } from './types';
import { EventEmitter } from 'node:events';
export declare class RepositoryWatcher extends EventEmitter {
private watcher?;
private disabled;
private readonly baseDir;
private allDefinitions;
private symbolicLinks;
private sourceOfChange;
constructor();
setDisabled(disabled: boolean): void;
watch(): void;
setSourceOfChangeFor(file: string, source: SourceOfChange): Promise;
clearSourceOfChangeFor(file: string): Promise;
unwatch(): Promise;
private getAssetIdentity;
private handleFileChange;
private getRepositoryPath;
private checkForChange;
private exists;
private removeSymlinkTarget;
private updateSymlinkTarget;
private addSymlinkTarget;
private ignoreFile;
}