import { EventEmitter, InjectOptions, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core'; import { Collection, Feature } from 'ol'; import { ObjectEvent } from 'ol/Object'; import { Condition } from 'ol/events/condition'; import { StyleLike } from 'ol/style/Style.js'; import { FlatStyleLike } from 'ol/style/flat'; import BaseEvent from 'ol/events/Event'; import VectorSource from 'ol/source/Vector'; import Geometry, { GeometryLayout, Type as GeometryType } from 'ol/geom/Geometry'; import Draw, { DrawEvent, GeometryFunction, Options } from 'ol/interaction/Draw'; import { NolPrefixedOptions, NolSafeAny } from 'ngx-ol-library/core'; import * as i0 from "@angular/core"; /** * An interaction component for drawing feature geometries. * @name nol-draw-interaction * @order 1 */ export declare class NolDrawInteractionComponent implements NolPrefixedOptions, OnInit, OnChanges, OnDestroy { nolActive: boolean; nolType: GeometryType; nolClickTolerance?: number; nolFeatures?: Collection>; nolSource?: VectorSource>; nolDragVertexDelay?: number; nolSnapTolerance?: number; nolStopClick?: boolean; nolMaxPoints?: number; nolMinPoints?: number; nolFinishCondition?: Condition; nolStyle?: StyleLike | FlatStyleLike; nolGeometryFunction?: GeometryFunction; nolGeometryName?: string; nolCondition?: Condition; nolFreehand?: boolean; nolFreehandCondition?: Condition; nolTrace?: boolean | Condition; nolTraceSource?: VectorSource>; nolWrapX?: boolean; nolGeometryLayout?: GeometryLayout; nolProperties?: Record; nolActiveChange: EventEmitter; nolChange: EventEmitter; nolDrawabort: EventEmitter; nolDrawend: EventEmitter; nolDrawstart: EventEmitter; nolError: EventEmitter; nolPropertychange: EventEmitter; private readonly cdr; private readonly destroyRef; private readonly host; private instance; getInstance(): Draw; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export declare function useDrawInteraction(): NolDrawInteractionComponent; export declare function useDrawInteraction(options: InjectOptions & { optional?: false; }): NolDrawInteractionComponent; export declare function useDrawInteraction(options: InjectOptions): NolDrawInteractionComponent | null;