import type { AgEvent, _AgComponent, _AgCoreBeanCollection, _BaseEvents, _BaseProperties, _IPropertiesService } from 'ag-grid-community';
import { _AgBeanStub } from 'ag-grid-community';
import type { AgVirtualList } from './agVirtualList';
import type { AgVirtualListDragParams } from './iVirtualListDragFeature';
export declare class AgVirtualListDragFeature<TBeanCollection extends _AgCoreBeanCollection<TProperties, TGlobalEvents, TCommon, TPropertiesService>, TProperties extends _BaseProperties, TGlobalEvents extends _BaseEvents, TCommon, TPropertiesService extends _IPropertiesService<TProperties, TCommon>, TDragSourceType extends number, TParentComponent extends _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>, TChildComponent extends _AgComponent<TBeanCollection, TProperties, TGlobalEvents, any>, TDragValue, TDragStartEvent extends AgEvent, TDragEndEvent extends AgEvent> extends _AgBeanStub<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService> {
    private readonly comp;
    private readonly virtualList;
    private readonly params;
    private currentDragValue;
    private lastHoveredListItem;
    private autoScrollService;
    private moveBlocked;
    constructor(comp: TParentComponent, virtualList: AgVirtualList<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, any>, params: AgVirtualListDragParams<TBeanCollection, TProperties, TGlobalEvents, TCommon, TPropertiesService, TDragSourceType, TParentComponent, TChildComponent, TDragValue, TDragStartEvent, TDragEndEvent>);
    postConstruct(): void;
    private listItemDragStart;
    private listItemDragEnd;
    private createDropTarget;
    private createAutoScrollService;
    private onDragging;
    private getListDragItem;
    private onDragStop;
    private onDragCancel;
    private onDragLeave;
    private clearDragProperties;
    private clearHoveredItems;
}
