import { Surface } from "@aurigma/design-atoms-model/Product/Surface";
import { Collection } from "@aurigma/design-atoms-model/Collection";
import { Container } from "@aurigma/design-atoms-model/Product/Container";
import { IPrintZoneConfiguration } from "./Interfaces";
import { ItemHandler } from "./../ItemHandlers";
import { IColorParser } from "../Serialization/Color";
export declare class SafetyLinesHandler {
    static readonly handlerPrefix = "$SAFETY_LINE";
    static isSafetyLineItemHandler: (h: ItemHandler) => boolean;
    private readonly _colorParser;
    private _surface;
    private _changedEvent;
    private _visibilityChangedEvent;
    private _containers;
    private _visible;
    private _printZoneConf;
    constructor(conf: IPrintZoneConfiguration, colorParser: IColorParser);
    get conf(): IPrintZoneConfiguration;
    set conf(value: IPrintZoneConfiguration);
    get surface(): Surface;
    set surface(value: Surface);
    get safetyLinesContainers(): Collection<Container>;
    get visible(): boolean;
    set visible(value: boolean);
    addChanged(h: any): void;
    removeChanged(h: any): void;
    addVisibilityChanged(listener: () => void): void;
    removeVisibilityChanged(listener: () => void): void;
    private _clearCurrentSafetyLinesContainers;
    private _onPrintAreaAdded;
    private _onPrintAreaRemoved;
    private _subscribePrintAreaEvents;
    private _unsubscribePrintAreaEvents;
    private _subscribeSafetyLineEvents;
    private _unsubscribeSafetyLineEvents;
    private _onSafetyLinePropertyChanged;
    private _onSafetyLinesCollectionRemoved;
    private _onSafetyLinesCollectionAdded;
    private _onSurfaceContainerAdded;
    private _onSurfaceContainerRemoved;
    private _subscribeContainerEvents;
    private _unsubscribeContainerEvents;
    private _onPrintAreaPropertyChanged;
    private _onPrintAreaPropertyChangedDebounce;
    private _buildSafetyLinesContainers;
    private _addSafetyLineContainer;
    private _createContainer;
    private _createDashedRectangleFromSafetyLine;
    private _createDashedRect;
    dispose(): void;
    private static _getDefaultPrintZoneConfig;
}
