import { RectangleF } from "../Math/RectangleF";
import { Color } from "../Colors";
import { SizeF } from "../Math/SizeF";
import { INotifyPropertyChanged } from "../INotifyPropertyChanged";
import { EventWithSenderArg } from "../EventObject";
import { Margin } from "../Math/Margin";
export type MarginOrNumber = number | Margin;
export declare enum PdfBox {
    Crop = "Crop",
    Trim = "Trim",
    Bleed = "Bleed"
}
export declare class SafetyLine implements INotifyPropertyChanged<SafetyLine, string> {
    protected _propertyChanged: EventWithSenderArg<SafetyLine, string>;
    private _name;
    private _widthPx;
    private _color;
    private _altColor;
    private _stepPx;
    private _margin;
    private _borderRadius;
    private _pdfBox;
    get name(): string;
    set name(value: string);
    get widthPx(): number;
    set widthPx(value: number);
    get color(): Color;
    set color(value: Color);
    get altColor(): Color;
    set altColor(value: Color);
    get margin(): MarginOrNumber;
    set margin(value: MarginOrNumber);
    getMargin(): Margin;
    get stepPx(): number;
    set stepPx(value: number);
    get borderRadius(): string;
    set borderRadius(value: string);
    get pdfBox(): PdfBox;
    set pdfBox(value: PdfBox);
    constructor(properties?: Partial<SafetyLine>);
    getRectangle(bounds: RectangleF): RectangleF;
    getCornerRadiuses(bounds: RectangleF): SizeF[];
    addPropertyChanged(listener: (sender: SafetyLine, eventArgs: string) => void): void;
    removePropertyChanged(listener: (sender: SafetyLine, eventArgs: string) => void): void;
    clone(): SafetyLine;
}
