/** * DevExpress Analytics (core\selection\_selection.d.ts) * Version: 25.2.7 * Build date: May 5, 2026 * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ import * as ko from 'knockout'; import { IArea } from '../elements/area'; import { IHoverInfo } from '../internal/_hoverInfo'; import { ElementViewModel } from '../elements/elementViewModel'; import { IDisposable, Disposable } from '../../serializer/disposable'; import { ITreeListItemViewModel } from '../../widgets/treelist/_treelistItem.viewModel'; export interface ISelectingEvent { control: ISelectionTarget; cancel: boolean; ctrlKey?: boolean; } export interface ISelectionTarget { rect: ko.Observable | ko.Computed; focused: ko.Observable | ko.Computed; selected: ko.Observable | ko.Computed; underCursor: ko.Observable | ko.Computed; allowMultiselect: boolean; locked: boolean; canDrop: () => boolean; getControlModel: () => ElementViewModel; checkParent: (surfaceParent: ISelectionTarget) => boolean; parent: ISelectionTarget; getChildrenCollection: () => ko.ObservableArray>; dragCallback?: (item: ITreeListItemViewModel) => void; dropCallback?: (item: ITreeListItemViewModel) => void; findNextSelection?: () => ISelectionTarget; } export interface ISelectionProvider extends IDisposable { focused: ko.Observable> | ko.Computed>; selectedItems: ISelectionTarget[]; initialize(surface?: ISelectionTarget): any; selecting(event: ISelectingEvent): any; unselecting(surface: ISelectionTarget): any; swapFocusedItem(surface: ISelectionTarget): any; ignoreMultiSelectProperties?: string[]; selectionWithCtrl(surface?: ISelectionTarget): any; applySelection(): any; } export declare class SurfaceSelection extends Disposable implements ISelectionProvider { ignoreMultiSelectProperties: string[]; dispose(): void; private _focused; private _firstSelected; private _selectedControls; private _selectedControlsInner; private _removeFromSelection; private _setFocused; private _resetTabPanelFocus; constructor(ignoreMultiSelectProperties?: string[]); focused: ko.PureComputed>; get selectedItems(): ISelectionTarget[]; clear(): void; reset(): void; applySelection(): void; selectItems(items: any): void; updateSelection(control: ISelectionTarget): void; swapFocusedItem(control: ISelectionTarget): void; initialize(control?: ISelectionTarget): void; clickHandler(control?: ISelectionTarget, event?: { ctrlKey: boolean; metaKey: boolean; }): void; selecting(event: ISelectingEvent): void; unselecting(control: ISelectionTarget): void; selectionWithCtrl(control: ISelectionTarget): void; dropTarget: ISelectionTarget; expectClick: boolean; disabled: ko.Observable; }