﻿/**
* DevExpress HTML/JS Reporting (designer\internal\dragdrop\_fieldListDragDropHelper.d.ts)
* Version:  26.1.3
* Build date: Jun 16, 2026
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* License: https://www.devexpress.com/Support/EULAs/universal.xml
*/
import { ElementViewModel, IElementViewModel, ISize, ISurfaceContext, Size } from '@devexpress/analytics-core/analytics-elements';
import { DxPromise, ISelectionTarget } from '@devexpress/analytics-core/analytics-internal';
import { ITreeListItemViewModel, TreeListItemViewModel } from '@devexpress/analytics-core/analytics-widgets-internal';
import { XRReportElementViewModel } from '../../controls/xrReportelement';
import { DataBindingMode } from '../_dataBindingMode';
export declare class FieldListDragDropHelper {
    private _dataBindingMode;
    private _size?;
    private _performBindings;
    constructor(_dataBindingMode: DataBindingMode, _size?: Size, _performBindings?: boolean);
    private _setControlTextAlignment;
    private _createTable;
    private _getItemsFromList;
    private _getFirstLevelItems;
    createTableFromListSource(treeListItem: ITreeListItemViewModel, parent: XRReportElementViewModel): DxPromise<IElementViewModel>;
    createTableFromItems(treeListItems: TreeListItemViewModel[], parent: ElementViewModel): DxPromise<IElementViewModel>;
}
interface IMemberContolBase {
    size: (surface?: ISurfaceContext) => ISize;
    adjustDropTarget?: (dropTarget: ISelectionTarget) => ISelectionTarget;
}
interface IMemberContol extends IMemberContolBase {
    drop: (treeListItem: ITreeListItemViewModel, dropTargetControl: XRReportElementViewModel, dataBindingMode: DataBindingMode, size?: ISize) => XRReportElementViewModel;
}
interface IListMemberContol extends IMemberContolBase {
    drop: (treeListItem: ITreeListItemViewModel, dropTargetControl: XRReportElementViewModel, dataBindingMode: DataBindingMode, size?: ISize, performBindings?: boolean) => DxPromise<IElementViewModel>;
}
export declare const listMemberControlsMap: {
    [key: string]: IListMemberContol;
};
export declare const memberControlsMap: {
    [key: string]: IMemberContol;
};
export {};
