/** * DevExpress Analytics (core\elements\baseSurface.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 { IMargins } from './margins'; import { ISelectionTarget } from '../selection/_selection'; import { ElementViewModel } from './elementViewModel'; import { Disposable } from '../../serializer/disposable'; import { IUnitProperties } from '../utils/_units'; import { CssCalculator } from '../internal/_cssCalculator'; import { IHoverInfo } from '../internal/_hoverInfo'; import { Point } from './point'; import { MeasureUnit } from '../internal/_papperKindMapper'; import { IArea } from './area'; export interface ISurfaceContext { measureUnit: ko.Observable | ko.Computed; pageWidth?: ko.Observable | ko.Computed; pageHeight?: ko.Observable | ko.Computed; snapGridSize?: ko.Observable | ko.Computed; snappingMode?: ko.Observable | ko.Computed; margins?: IMargins; zoom?: ko.Observable | ko.Computed; dpi?: ko.Observable | ko.Computed; isFit?: (dropTarget: ISelectionTarget) => boolean; rtl?: ko.Observable | ko.Computed; } export declare class SurfaceElementArea, T extends string = string> extends Disposable { _control: M; _width: ko.Observable | ko.Computed; _height: ko.Observable | ko.Computed; _x: ko.Observable | ko.Computed; _y: ko.Observable | ko.Computed; _context: ISurfaceContext; _createSurface: (item: ElementViewModel) => any; private _container; private _getX; private _setX; getRoot(): ISurfaceContext; preInitProperties(control: M, context: ISurfaceContext, unitProperties: IUnitProperties): void; constructor(control: M, context: ISurfaceContext, unitProperties: IUnitProperties); rect: ko.Observable | ko.Computed; container(): SurfaceElementArea; beforeRectUpdated(rect: any): any; rtlLayout(): boolean; getControlModel(): M; } export declare class SurfaceElementBase, T extends string = string> extends SurfaceElementArea implements ISelectionTarget { context: ISurfaceContext; constructor(control: M, context: ISurfaceContext, unitProperties: IUnitProperties); focused: ko.Observable | ko.Computed; selected: ko.Observable | ko.Computed; isSelected: ko.Observable | ko.Computed; cssCalculator: CssCalculator; underCursor: ko.Observable | ko.Computed; _getParent(): any; get parent(): any; checkParent(surfaceParent: ISelectionTarget): boolean; allowMultiselect: boolean; css: ko.Observable | ko.Computed; contentCss: ko.Observable> | ko.Computed>; _getChildrenHolderName(): string; getChildrenCollection(): ko.ObservableArray; absolutePosition: Point; updateAbsolutePosition(): void; canDrop(): boolean; afterUpdateAbsolutePosition(): void; findNextSelection(): ISelectionTarget; absoluteRect: ko.Computed; getUsefulRect: () => IArea; locked: boolean; }