import { AfterViewInit, OnDestroy } from '@angular/core';
import { ComponentBaseProps, Position, Size } from 'ngx-puzzle/core/interfaces';
import { mainTypes } from 'ngx-puzzle/core';
import * as i0 from "@angular/core";
export declare class NgxPuzzleDragWrapperComponent<TConfigProps extends ComponentBaseProps = ComponentBaseProps, TSubType = string> implements AfterViewInit, OnDestroy {
    private dragRef;
    private mediator;
    private zoom;
    private destroy$;
    readonly componentId: import("@angular/core").InputSignal<string>;
    readonly isEdit: import("@angular/core").InputSignal<boolean>;
    readonly styles: import("@angular/core").InputSignal<Record<string, any>>;
    readonly mainType: import("@angular/core").InputSignal<mainTypes | undefined>;
    readonly zIndex: import("@angular/core").InputSignal<number>;
    reverseZoom: import("@angular/core").WritableSignal<number>;
    forwardScale: import("@angular/core").WritableSignal<number>;
    size: import("@angular/core").ModelSignal<Size>;
    position: import("@angular/core").ModelSignal<Position>;
    private isMoving;
    private currentResizeDir;
    private resizing;
    private startX;
    private startY;
    private startWidth;
    private startHeight;
    private startLeft;
    private startTop;
    isSelected: import("@angular/core").WritableSignal<boolean>;
    directions: {
        className: string;
        direction: string;
    }[];
    get hasDragRef(): boolean;
    get wrapperClassMap(): {
        'drag-wrapper-component': boolean;
        edit: boolean;
        disabled: boolean;
        'chart-wrapper': boolean;
        'table-wrapper': boolean;
        'text-wrapper': boolean;
        'control-wrapper': boolean;
    };
    constructor();
    ngAfterViewInit(): void;
    private setupObservables;
    private getDragPosition;
    private onResizeMove;
    private stopResize;
    private detachResizeListeners;
    private updatePosition;
    /**
     * 选取
     * @param event
     */
    componentHandleSelect(event: MouseEvent): void;
    /**
     * 拖拽过程中
     */
    componentHandleDrag(): void;
    /**
     * 拖拽结束
     */
    componentHandleDragEnd(): void;
    /**
     * 移除
     * @param event
     * @param id
     */
    componentHandleRemove(event: MouseEvent, id: string): void;
    startResize(event: MouseEvent, direction: string): void;
    mouseDownStopPropagation(event: MouseEvent): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgxPuzzleDragWrapperComponent<any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgxPuzzleDragWrapperComponent<any, any>, "puzzle-drag-wrapper", never, { "componentId": { "alias": "componentId"; "required": false; "isSignal": true; }; "isEdit": { "alias": "isEdit"; "required": false; "isSignal": true; }; "styles": { "alias": "styles"; "required": false; "isSignal": true; }; "mainType": { "alias": "mainType"; "required": false; "isSignal": true; }; "zIndex": { "alias": "zIndex"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; }, { "size": "sizeChange"; "position": "positionChange"; }, never, ["*"], true, never>;
}
