import SizeType from '../../SizeType';
declare class ElementPeer {
    _native: SVGElement;
    private _parent;
    protected _size: SizeType;
    private _changeListeners;
    private __handlers;
    private _children;
    private _stokeStyle;
    constructor(svgElement: SVGElement);
    setChildren(children: ElementPeer[]): void;
    getChildren(): ElementPeer[];
    getParent(): ElementPeer | null;
    setParent(parent: ElementPeer | null): void;
    append(elementPeer: ElementPeer): void;
    removeChild(elementPeer: ElementPeer): void;
    /**
     * http://www.w3.org/TR/DOM-Level-3-Events/events.html
     * http://developer.mozilla.org/en/docs/addEvent
     */
    addEvent(type: string, listener: any): void;
    trigger(type: string, event: any): void;
    removeEvent(type: string, listener: any): void;
    setSize(width: number, height: number): void;
    getSize(): SizeType;
    setFill(color: string | null, opacity?: number | null): void;
    getFill(): {
        color: string | null;
        opacity: number;
    };
    getStroke(): {
        color: string | null;
        style: string | null;
        opacity: string | null;
        width: string | null;
    };
    setStroke(width: number | null, style?: string | null, color?: string | null, opacity?: number): void;
    setVisibility(value: boolean, fade?: number): void;
    isVisible(): boolean;
    updateStrokeStyle(): void;
    attachChangeEventListener(type: any, listener: any): void;
    getChangeEventListeners(type: any): any;
    /**
     * Move element to the front
     */
    moveToFront(): void;
    /**
     * Move element to the back
     */
    moveToBack(): void;
    setCursor(type: string): void;
    static stokeStyleToStrokDasharray(): {
        solid: never[];
        dot: number[];
        dash: number[];
        longdash: number[];
        dashdot: number[];
    };
    protected static svgNamespace: string;
    protected static linkNamespace: string;
}
export default ElementPeer;
