import { type HitTestArguments, type HitTestResult, type KeyDownEventType, Model, type MouseDownEventType, type MouseMoveEventType, type MouseUpEventType, type OxyColor, OxyColorEx, type OxyKeyEventArgs, type OxyMouseDownEventArgs, type OxyMouseEventArgs, type OxyTouchEventArgs, type PlotModelSerializeOptions, SelectionMode, type TouchCompletedEventType, type TouchDeltaEventType, type TouchStartedEventType } from '..'; export interface CreateElementOptions { selectable?: boolean; selectionMode?: SelectionMode; } export declare const DefaultElementOptions: CreateElementOptions; export declare const ExtendedDefaultElementOptions: CreateElementOptions; /** * Provides an abstract base class for graphical elements. */ export declare abstract class Element { protected constructor(opt?: CreateElementOptions); abstract getElementName(): string; protected __oxy_element_name__?: string; /** * Gets the parent model of the element. * @internal */ private _parent?; set parent(value: Model | undefined); get parent(): Model | undefined; /** * Tests if the plot element is hit by the specified point. * @param args The hit test arguments. * @returns A hit test result, or undefined if no hit is detected. */ hitTest(args: HitTestArguments): HitTestResult | undefined; /** * When overridden in a derived class, tests if the plot element is hit by the specified point. * @param args The hit test arguments. * @returns The result of the hit test, or undefined if no hit is detected. */ protected hitTestOverride(args: HitTestArguments): HitTestResult | undefined; /** * Occurs when a key is pressed down when the plot view is in focus. * @deprecated Will be removed in v4.0 (#111) */ keyDown?: KeyDownEventType; /** * Occurs when a mouse button is pressed down on the model. * @deprecated Will be removed in v4.0 (#111) */ mouseDown?: MouseDownEventType; /** * Occurs when the mouse is moved on the plot element (only occurs after MouseDown). * @deprecated Will be removed in v4.0 (#111) */ mouseMove?: MouseMoveEventType; /** * Occurs when the mouse button is released on the plot element. * @deprecated Will be removed in v4.0 (#111) */ mouseUp?: MouseUpEventType; /** * Occurs when a touch gesture starts. * @deprecated Will be removed in v4.0 (#111) */ touchStarted?: TouchStartedEventType; /** * Occurs when a touch gesture is changed. * @deprecated Will be removed in v4.0 (#111) */ touchDelta?: TouchDeltaEventType; /** * Occurs when the touch gesture is completed. * @deprecated Will be removed in v4.0 (#111) */ touchCompleted?: TouchCompletedEventType; /** * Raises the `MouseDown` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onMouseDown(e: OxyMouseDownEventArgs): void; /** * Raises the `MouseMove` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onMouseMove(e: OxyMouseEventArgs): void; /** * Raises the `KeyDown` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onKeyDown(e: OxyKeyEventArgs): void; /** * Raises the `MouseUp` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onMouseUp(e: OxyMouseEventArgs): void; /** * Raises the `TouchStarted` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onTouchStarted(e: OxyTouchEventArgs): void; /** * Raises the `TouchDelta` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onTouchDelta(e: OxyTouchEventArgs): void; /** * Raises the `TouchCompleted` event. * @deprecated Will be removed in v4.0 (#111) * @internal */ onTouchCompleted(e: OxyTouchEventArgs): void; /** * The selection */ private _selection?; /** * Occurs when the selected items is changed. * @deprecated May be removed in v4.0 (#111) */ selectionChanged?: (sender: any, e: any) => void; /** * A value indicating whether this element can be selected. The default is true. */ selectable: boolean; /** * The selection mode of items in this element. The default is SelectionMode.All. * This is only used by the select/unselect functionality, not by the rendering. */ selectionMode: SelectionMode; /** * Gets the actual selection color. */ protected get actualSelectedColor(): OxyColor; /** * Determines whether any part of this element is selected. */ isSelected(): boolean; /** * Gets the indices of the selected items in this element. */ getSelectedItems(): number[]; /** * Clears the selection. */ clearSelection(): void; /** * Unselects all items in this element. */ unselect(): void; /** * Determines whether the specified item is selected. * @param index The index of the item. */ isItemSelected(index: number): boolean; /** * Selects all items in this element. */ select(): void; /** * Selects the specified item. * @param index The index. */ selectItem(index: number): void; /** * Unselects the specified item. * @param index The index. */ unselectItem(index: number): void; /** * Gets the selection color if the item is selected, or the specified color if it is not. * @param originalColor The unselected color of the element. * @param index The index of the item to check (use -1 for all items). */ protected getSelectableColor(originalColor: OxyColor | OxyColorEx, index?: number): OxyColor; /** * Gets the selection fill color if the element is selected, or the specified fill color if it is not. * @param originalColor The unselected fill color of the element. * @param index The index of the item to check (use -1 for all items). * @returns A fill color. */ protected getSelectableFillColor(originalColor: OxyColor, index?: number): OxyColor; /** * Ensures that the selection field is not undefined. */ private ensureSelection; /** * Raises the SelectionChanged event. */ private onSelectionChanged; protected getJsonIgnoreProperties(): string[]; protected getElementDefaultValues(): any; toJSON(opt?: PlotModelSerializeOptions): any; } //# sourceMappingURL=Element.d.ts.map