import type { Svg } from '@svgdotjs/svg.js';
import { TCustomDragDetail, TDrawReturn, TDrawType, TSvgData } from '../types/svg';
export declare class SVGWrap {
    $svgWrap: HTMLDivElement;
    $svgContainer: Svg;
    mouseDownClient?: {
        offsetX: number;
        offsetY: number;
    };
    currDrawType: TDrawType;
    isMouseDown: boolean;
    currSvg: TDrawReturn;
    currClickSvg: Svg;
    svgsData: TSvgData[];
    isPreview: boolean;
    childMaxLen: number;
    constructor(_$svgWrap: HTMLDivElement);
    removeSelectize(fn?: (child: Svg, contentEl?: Svg) => void): void;
    switchPreviewStatus(_isPreview: boolean): boolean;
    initSvgWrap(_$svgWrap: HTMLDivElement): void;
    addEventListener(): void;
    private onClick;
    private onCreate;
    private onTouchStart;
    private onDrag;
    private onTouchMove;
    private onTouchEnd;
    private getEventOffset;
    getDetails(event: MouseEvent | TouchEvent, offsetX: number, offsetY: number): TCustomDragDetail;
    private sendLinesLocation;
    getWhetherLenOver(): boolean;
    addSvgDom(svgData: TSvgData): void;
    /**
     *
     * @param id string: querySelector([string]) | dom
     * @returns
     */
    deleteSvgDom(id: string | HTMLElement): void;
    deleteAllSvgDom(mode?: string): void;
    sendCustomEvent(name: string, detail?: Record<string, any>): void;
    private observerDom;
    getCloneSvgsData(): any;
}
