import { OnDestroy, OnInit, OnChanges, SimpleChanges, EventEmitter } from '@angular/core';
import { MoveableOptions, OnScrollGroup, OnScroll, MoveableEvents, OnSnap } from 'moveable';
import { NgxMoveableEvents } from './types';
import { Able } from 'moveable';
import { NgxMoveableInterface } from './ngx-moveable.interface';
export declare class NgxMoveableComponent extends NgxMoveableInterface implements OnDestroy, OnInit, OnChanges, Required<MoveableOptions>, NgxMoveableEvents {
    draggable: MoveableOptions['draggable'];
    resizable: MoveableOptions['resizable'];
    scalable: MoveableOptions['scalable'];
    rotatable: MoveableOptions['rotatable'];
    warpable: MoveableOptions['warpable'];
    pinchable: boolean | Array<'rotatable' | 'resizable' | 'scalable'>;
    snappable: boolean | string[];
    origin: boolean;
    target: SVGElement | HTMLElement | Array<SVGElement | HTMLElement>;
    container: SVGElement | HTMLElement | null;
    throttleDrag: number;
    throttleDragRotate: number;
    throttleResize: number;
    throttleScale: number;
    throttleRotate: number;
    keepRatio: boolean;
    edge: boolean;
    pinchThreshold: number;
    snapCenter: boolean;
    snapVertical: boolean;
    snapElement: boolean;
    snapHorizontal: boolean;
    snapThreshold: number;
    horizontalGuidelines: number[];
    verticalGuidelines: number[];
    elementGuidelines: Element[];
    bounds: {
        left?: number;
        top?: number;
        right?: number;
        bottom?: number;
    };
    dragArea: boolean;
    rotationPosition: 'top' | 'bottom' | 'left' | 'right';
    baseDirection: number[];
    defaultGroupRotate: number;
    ables: Able[];
    className: string;
    renderDirections: string[];
    scrollable: boolean;
    scrollContainer: HTMLElement;
    scrollThreshold: number;
    getScrollPosition: MoveableOptions['getScrollPosition'];
    rootContainer: MoveableOptions['rootContainer'];
    zoom: MoveableOptions['zoom'];
    transformOrigin: MoveableOptions['transformOrigin'];
    snapDigit: MoveableOptions['snapDigit'];
    isDisplaySnapDigit: MoveableOptions['isDisplaySnapDigit'];
    innerBounds: MoveableOptions['innerBounds'];
    triggerAblesSimultaneously: MoveableOptions['triggerAblesSimultaneously'];
    snapGap: MoveableOptions['snapGap'];
    pinchOutside: MoveableOptions['pinchOutside'];
    padding: MoveableOptions['padding'];
    snapDistFormat: MoveableOptions['snapDistFormat'];
    dragTarget: MoveableOptions['dragTarget'];
    dragStart: EventEmitter<MoveableEvents['dragStart']>;
    drag: EventEmitter<MoveableEvents['drag']>;
    dragEnd: EventEmitter<MoveableEvents['dragEnd']>;
    dragGroupStart: EventEmitter<MoveableEvents['dragGroupStart']>;
    dragGroup: EventEmitter<MoveableEvents['dragGroup']>;
    dragGroupEnd: EventEmitter<MoveableEvents['dragGroupEnd']>;
    resizeStart: EventEmitter<MoveableEvents['resizeStart']>;
    resize: EventEmitter<MoveableEvents['resize']>;
    resizeEnd: EventEmitter<MoveableEvents['resizeEnd']>;
    resizeGroupStart: EventEmitter<MoveableEvents['resizeGroupStart']>;
    resizeGroup: EventEmitter<MoveableEvents['resizeGroup']>;
    resizeGroupEnd: EventEmitter<MoveableEvents['resizeGroupEnd']>;
    scaleStart: EventEmitter<MoveableEvents['scaleStart']>;
    scale: EventEmitter<MoveableEvents['scale']>;
    scaleEnd: EventEmitter<MoveableEvents['scaleEnd']>;
    scaleGroupStart: EventEmitter<MoveableEvents['scaleGroupStart']>;
    scaleGroup: EventEmitter<MoveableEvents['scaleGroup']>;
    scaleGroupEnd: EventEmitter<MoveableEvents['scaleGroupEnd']>;
    rotateStart: EventEmitter<MoveableEvents['rotateStart']>;
    rotate: EventEmitter<MoveableEvents['rotate']>;
    rotateEnd: EventEmitter<MoveableEvents['rotateEnd']>;
    rotateGroupStart: EventEmitter<MoveableEvents['rotateGroupStart']>;
    rotateGroup: EventEmitter<MoveableEvents['rotateGroup']>;
    rotateGroupEnd: EventEmitter<MoveableEvents['rotateGroupEnd']>;
    warpStart: EventEmitter<MoveableEvents['warpStart']>;
    warp: EventEmitter<MoveableEvents['warp']>;
    warpEnd: EventEmitter<MoveableEvents['warpEnd']>;
    pinchStart: EventEmitter<MoveableEvents['pinchStart']>;
    pinch: EventEmitter<MoveableEvents['pinch']>;
    pinchEnd: EventEmitter<MoveableEvents['pinchEnd']>;
    pinchGroupStart: EventEmitter<MoveableEvents['pinchGroupStart']>;
    pinchGroup: EventEmitter<MoveableEvents['pinchGroup']>;
    pinchGroupEnd: EventEmitter<MoveableEvents['pinchGroupEnd']>;
    click: EventEmitter<MoveableEvents['click']>;
    clickGroup: EventEmitter<MoveableEvents['clickGroup']>;
    renderStart: EventEmitter<MoveableEvents['renderStart']>;
    render: EventEmitter<MoveableEvents['render']>;
    renderEnd: EventEmitter<MoveableEvents['renderEnd']>;
    renderGroupStart: EventEmitter<MoveableEvents['renderGroupStart']>;
    renderGroup: EventEmitter<MoveableEvents['renderGroup']>;
    renderGroupEnd: EventEmitter<MoveableEvents['renderGroupEnd']>;
    scroll: EventEmitter<OnScroll>;
    scrollGroup: EventEmitter<OnScrollGroup>;
    snap: EventEmitter<OnSnap>;
    constructor();
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
}
