import { IEquipmentSet, IItem, IItemContainer, ItemContainerType, ItemSlotType, ItemType } from '@rpg-engine/shared';
import React from 'react';
import { IPosition } from '../../../types/eventTypes';
export declare const EquipmentSlotSpriteByType: any;
interface IProps {
    slotIndex: number;
    item: IItem | null;
    itemContainer?: IItemContainer | null;
    itemContainerType?: ItemContainerType | null;
    slotSpriteMask?: ItemSlotType | null;
    onMouseOver?: (event: any, slotIndex: number, item: IItem | null, x: number, y: number) => void;
    onMouseOut?: () => void;
    onPointerDown: (ItemType: ItemType, itemContainerType: ItemContainerType | null, item: IItem) => void;
    onDragStart?: (item: IItem, slotIndex: number, itemContainerType: ItemContainerType | null) => void;
    onDragEnd?: (quantity?: number) => void;
    onOutsideDrop?: (item: IItem, position: IPosition) => void;
    dragScale?: number;
    checkIfItemCanBeMoved?: () => boolean;
    checkIfItemShouldDragEnd?: () => boolean;
    openQuantitySelector?: (maxQuantity: number, callback: () => void) => void;
    onPlaceDrop?: (item: IItem | null, slotIndex: number, itemContainerType: ItemContainerType | null) => void;
    atlasJSON: any;
    atlasIMG: any;
    isContextMenuDisabled?: boolean;
    isSelectingShortcut?: boolean;
    equipmentSet?: IEquipmentSet | null;
    setItemShortcut?: (item: IItem, shortcutIndex: number) => void;
    isDepotSystem?: boolean;
}
interface IProps {
    slotIndex: number;
    item: IItem | null;
    itemContainer?: IItemContainer | null;
    itemContainerType?: ItemContainerType | null;
    slotSpriteMask?: ItemSlotType | null;
    onMouseOver?: (event: any, slotIndex: number, item: IItem | null, x: number, y: number) => void;
    onMouseOut?: () => void;
    onPointerDown: (ItemType: ItemType, itemContainerType: ItemContainerType | null, item: IItem) => void;
    onDragStart?: (item: IItem, slotIndex: number, itemContainerType: ItemContainerType | null) => void;
    onDragEnd?: (quantity?: number) => void;
    onOutsideDrop?: (item: IItem, position: IPosition) => void;
    dragScale?: number;
    checkIfItemCanBeMoved?: () => boolean;
    checkIfItemShouldDragEnd?: () => boolean;
    openQuantitySelector?: (maxQuantity: number, callback: () => void) => void;
    onPlaceDrop?: (item: IItem | null, slotIndex: number, itemContainerType: ItemContainerType | null) => void;
    atlasJSON: any;
    atlasIMG: any;
    isContextMenuDisabled?: boolean;
    isSelectingShortcut?: boolean;
    equipmentSet?: IEquipmentSet | null;
    setItemShortcut?: (item: IItem, shortcutIndex: number) => void;
    isDepotSystem?: boolean;
}
export declare const ItemSlot: React.FC<IProps>;
export {};
