/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import type { IComputedValue, ObservableMap } from "mobx";
import type { CatalogEntity } from "../../../common/catalog";
import type { Disposer } from "@openlens/utilities";
import type { Logger } from "@openlens/logger";
import type { WatchKubeconfigFileChanges } from "./watch-file-changes.injectable";
import type { KubeconfigSyncValue } from "../../../features/user-preferences/common/preferences-helpers";
interface KubeconfigSyncManagerDependencies {
    readonly directoryForKubeConfigs: string;
    readonly logger: Logger;
    readonly kubeconfigSyncs: ObservableMap<string, KubeconfigSyncValue>;
    watchKubeconfigFileChanges: WatchKubeconfigFileChanges;
}
export declare class KubeconfigSyncManager {
    protected readonly dependencies: KubeconfigSyncManagerDependencies;
    protected readonly sources: ObservableMap<string, [IComputedValue<CatalogEntity<import("../../../common/catalog").CatalogEntityMetadata, import("../../../common/catalog").CatalogEntityStatus, import("../../../common/catalog").CatalogEntitySpec>[]>, Disposer]>;
    protected syncListDisposer?: Disposer;
    constructor(dependencies: KubeconfigSyncManagerDependencies);
    readonly source: IComputedValue<CatalogEntity<import("../../../common/catalog").CatalogEntityMetadata, import("../../../common/catalog").CatalogEntityStatus, import("../../../common/catalog").CatalogEntitySpec>[]>;
    startSync(): void;
    stopSync(): void;
    protected startNewSync(filePath: string): void;
    protected stopOldSync(filePath: string): void;
}
export {};
