@igo2/geo
Version:
31 lines (30 loc) • 961 B
TypeScript
import { Watcher } from '@igo2/utils';
import { ObjectEvent } from 'ol/Object';
import { BehaviorSubject } from 'rxjs';
import type { AnyLayer } from '../../layer/shared/layers/any-layer';
import type { Layer } from '../../layer/shared/layers/layer';
export interface LayerWatcherChange {
event: LayerWatcherEvent;
layer: Layer;
}
type LayerWatcherEvent = Pick<ObjectEvent, 'key' | 'oldValue'> & {
value: unknown;
};
export declare class LayerWatcher extends Watcher {
propertyChange$: BehaviorSubject<LayerWatcherChange>;
private loaded;
private loading;
private layers;
private subscriptionsByLayerId;
private subscriptions;
constructor();
watch(): void;
unwatch(): void;
setPropertyChange(change: LayerWatcherChange): void;
watchLayer(layer: AnyLayer): void;
private _watchLayer;
private createOlEventObservable;
unwatchLayer(layer: AnyLayer): void;
private _unwatchLayer;
}
export {};