import { EventEmitter, InjectOptions, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { Collection, Feature } from 'ol'; import { ObjectEvent } from 'ol/Object'; import { Geometry } from 'ol/geom'; import { SnapEvent } from 'ol/events/SnapEvent'; import BaseEvent from 'ol/events/Event'; import VectorSource from 'ol/source/Vector'; import Snap, { Options } from 'ol/interaction/Snap'; import { NolPrefixedOptions, NolSafeAny } from 'ngx-ol-library/core'; import * as i0 from "@angular/core"; /** * An interaction component that handles snapping of vector features while modifying * or drawing them. * @name nol-snap-interaction * @order 1 */ export declare class NolSnapInteractionComponent implements NolPrefixedOptions, OnInit, OnChanges, OnDestroy { nolActive: boolean; nolFeatures?: Collection>; nolEdge?: boolean; nolVertex?: boolean; nolPixelTolerance?: number; nolSource?: VectorSource>; nolProperties?: Record; nolActiveChange: EventEmitter; nolChange: EventEmitter; nolError: EventEmitter; nolPropertychange: EventEmitter; nolSnap: EventEmitter; private readonly cdr; private readonly destroyRef; private readonly host; private instance; getInstance(): Snap; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare function useSnapInteraction(): NolSnapInteractionComponent; export declare function useSnapInteraction(options: InjectOptions & { optional?: false; }): NolSnapInteractionComponent; export declare function useSnapInteraction(options: InjectOptions): NolSnapInteractionComponent | null;