import '@interactjs/auto-start';
import '@interactjs/auto-scroll';
import '@interactjs/actions/drag';
import '@interactjs/actions/resize';
import '@interactjs/modifiers';
import '@interactjs/dev-tools';
import { ICalcXy, IGridItemPosition } from '@/core/griditem/interfaces/grid-item.interfaces';
export interface IGridItemProps {
    borderRadiusPx?: number;
    dragAllowFrom?: string | null;
    dragIgnoreFrom?: string;
    dragOption?: {
        [key: string]: any;
    };
    enableEditMode?: boolean;
    h: number;
    i: string | number;
    isBounded?: boolean | null;
    isDraggable?: boolean | null;
    isMirrored?: boolean | null;
    isResizable?: boolean | null;
    isStatic?: boolean | null;
    maxW?: number;
    maxH?: number;
    minH?: number;
    minW?: number;
    preserveAspectRatio?: boolean;
    resizeIgnoreFrom?: string | null;
    resizeOption?: {
        [key: string]: any;
    };
    showCloseButton?: boolean | null;
    useBorderRadius?: boolean | null;
    w: number;
    x: number;
    y: number;
}
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<IGridItemProps, {
    h: number;
    w: number;
    x: number;
    y: number;
    borderRadiusPx: number;
    dragAllowFrom: string | null;
    dragIgnoreFrom: string;
    dragOption: {
        [key: string]: any;
    };
    enableEditMode: boolean;
    i: string | number;
    isBounded: boolean | null;
    isDraggable: boolean | null;
    isMirrored: boolean | null;
    isResizable: boolean | null;
    isStatic: boolean | null;
    maxH: number;
    maxW: number;
    minH: number;
    minW: number;
    preserveAspectRatio: boolean;
    resizeIgnoreFrom: string | null;
    resizeOption: {
        [key: string]: any;
    };
    showCloseButton: boolean | null;
    useBorderRadius: boolean | null;
    autoSize: () => void;
    calcXY: (top: number, left: number) => ICalcXy;
    dragging: import("vue").Ref<{
        left?: number | undefined;
        right?: number | undefined;
        top: number;
        width: number;
        height: number;
    } | undefined, IGridItemPosition | {
        left?: number | undefined;
        right?: number | undefined;
        top: number;
        width: number;
        height: number;
    } | undefined>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
    "container-resized": (i: string | number, h: number, w: number, height: number, width: number) => any;
    drag: (i: string | number, h: number, w: number, height: number, width: number) => any;
    dragged: (i: string | number, h: number, w: number, height: number, width: number) => any;
    "item-move": (i: string | number, x: number, y: number) => any;
    "item-moved": (i: string | number, x: number, y: number) => any;
    "remove-grid-item": (i: string | number) => any;
    resize: (i: string | number, h: number, w: number, height: number, width: number) => any;
    resized: (i: string | number, h: number, w: number, height: number, width: number) => any;
}, string, import("vue").PublicProps, Readonly<IGridItemProps> & Readonly<{
    "onContainer-resized"?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
    onDrag?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
    onDragged?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
    "onItem-move"?: ((i: string | number, x: number, y: number) => any) | undefined;
    "onItem-moved"?: ((i: string | number, x: number, y: number) => any) | undefined;
    "onRemove-grid-item"?: ((i: string | number) => any) | undefined;
    onResize?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
    onResized?: ((i: string | number, h: number, w: number, height: number, width: number) => any) | undefined;
}>, {
    borderRadiusPx: number;
    dragAllowFrom: string | null;
    dragIgnoreFrom: string;
    dragOption: {
        [key: string]: any;
    };
    enableEditMode: boolean;
    i: string | number;
    isBounded: boolean | null;
    isDraggable: boolean | null;
    isMirrored: boolean | null;
    isResizable: boolean | null;
    isStatic: boolean | null;
    maxW: number;
    maxH: number;
    minH: number;
    minW: number;
    preserveAspectRatio: boolean;
    resizeIgnoreFrom: string | null;
    resizeOption: {
        [key: string]: any;
    };
    showCloseButton: boolean | null;
    useBorderRadius: boolean | null;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
    default?: (props: {
        style: any;
    }) => any;
}>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
