import { MapObject } from '../models/map-object';
import { MathematicsService } from './mathematics.service';
export declare class EditorLayersService {
    private math;
    objects: MapObject[];
    constructor(math: MathematicsService);
    /**
     * Adds new object to the top of objects collection.
     * @param o
     */
    add(o: MapObject): void;
    /**
     * Finds an object that overlays given layer, removes it and returns.
     * @param id Unique object id. Can be found as a refId on nativeElement.
     */
    remove(id: number): MapObject;
    /**
     * Removes last added object.
     */
    removeLastAdded(): MapObject;
    /**
     * Removes a particular instance of an object from the array.
     * @param obj An instance to remove.
     */
    removeObject(obj: MapObject): void;
    /**
     * Returns top most object that is overlapping given point.
     * @param id Unique object id. Can be found as a refId on nativeElement.
     */
    getObject(id: number): MapObject;
    clear(): void;
    private findObjectIndex;
}
