import { Collection, Feature } from 'ol';
import { default as Select } from 'ol/interaction/Select';
import { default as Snap } from 'ol/interaction/Snap';
import { default as VectorLayer } from 'ol/layer/Vector';
import { Vector } from 'ol/source';
import { AddAdditionalSnapProps, AddAngleSnapProps, CreateHoverSnapLayer, RemoveHoverSnapLayerProps } from './types';
export declare const initializeSnapInteraction: (features: Collection<Feature>) => Snap;
export declare const addAdditionalSnapInteraction: ({ interactLayers, map, pixelTolerance, type, }: AddAdditionalSnapProps) => void;
export declare const addAngleSnapInteraction: ({ map, points, pixelTolerance, type, }: AddAngleSnapProps) => void;
export declare const createHoverSnapLayer: ({ features, type, }: CreateHoverSnapLayer) => VectorLayer<Vector<Feature<import('ol/geom').Geometry>>, Feature<import('ol/geom').Geometry>>;
export declare const removeHoverSnapLayer: ({ interactSnapLayers, type, map, }: RemoveHoverSnapLayerProps) => void;
export declare const initializeHoverSnapInteraction: (layers: VectorLayer[], pixelTolerance: number) => Select;
