/// import { Record as Record_2 } from 'immutable'; /** * @public */ declare interface AbstractAxisStrategy { } /** * @public * @privateRemarks Ideally internal but not feasible; has to be public so it is included in typings but the actual name is still obfuscated in docs and types. */ declare class _AbstractAxisTick implements Disposable { /** * **Permanently** destroy the component. * * To fully allow Garbage-Collection to free the resources used by the component, make sure to remove **any references** * **to the component and its children** in application code. * ```javascript * let chart = ...ChartXY() * let axisX = chart.getDefaultAxisX() * // Dispose Chart, and remove all references so that they can be garbage-collected. * chart.dispose() * chart = undefined * axisX = undefined * ``` * @returns Object itself for fluent interface * @public */ dispose(): this; } /** * @public */ export declare abstract class AbstractCursor implements Plotable, Hideable, DisposableEvents { /** * @public */ readonly scale: ScaleXY; /** * Set cursor position. * @param cursorPositions - Abstract interface that describes cursor position. Actual type depends on type of cursor (XY, 3D, Polar, etc...) * @returns Object itself. * @public */ abstract setPosition(...cursorPositions: CursorPositionType[]): this; /** * Check whether the object is disposed. * Disposed objects should not be used! * * @returns `true` if object is disposed. * @public */ isDisposed(): boolean; /** * Set point marker visible or not. * * @param visible - Point marker visible? * @returns Object itself. * @public */ setPointMarkerVisible(visible: boolean): this; /** * Get point marker visible or not. * * @returns Boolean. * @public */ getPointMarkerVisible(): boolean; /** * Mutator function for Cursors PointMarker. * PointMarker is a visual that is displayed at the Cursors position * @param mutator - Mutator function for PointMarker * @returns Object itself for fluent interface * @public */ setPointMarker(mutator: Mutator): this; /** * Set result table visible or not. * * @param visible - Result table visible? * @returns Object itself. * @public */ setResultTableVisible(visible: boolean): this; /** * Get result table visible or not. * * @returns Boolean. * @public */ getResultTableVisible(): boolean; /** * Mutator function for Cursors ResultTable. * ResultTable is a visual that displays currently pointed data next to its location * @param mutator - Mutator function for ResultTable * @returns Object itself for fluent interface * @public */ setResultTable(mutator: Mutator>): this; /** * @param enabled - Auto fitting enabled or disabled * @returns Object itself for fluent interface * @public */ setAutoFit(enabled: boolean): this; /** * Get is auto-fit enabled. * @returns Boolean flag whether auto-fit is enabled * @public */ getAutoFit(): boolean; /** * Set element visibility. * * @param state - `true` when element should be visible and `false` when element should be hidden. * @returns Object itself. * @public */ setVisible(state: boolean): this; /** * Get element visibility. * * @returns `true` when element is set to be visible and `false` otherwise. * @public */ getVisible(): boolean; /** * **Permanently** destroy the component. * * To fully allow Garbage-Collection to free the resources used by the component, make sure to remove **any references** * **to the component and its children** in application code. * ```javascript * let chart = ...ChartXY() * let axisX = chart.getDefaultAxisX() * // Dispose Chart, and remove all references so that they can be garbage-collected. * chart.dispose() * chart = undefined * axisX = undefined * ``` * @returns Object itself for fluent interface */ dispose(): this; addEventListener(type: K, listener: (event: AbstractCursorEventMap[K], info: unknown) => unknown, options?: LCJSAddEventListenerOptions): void; removeEventListener(type: K, listener: (event: AbstractCursorEventMap[K], info: unknown) => unknown): void; } /** * Interface of events trackable by {@link AbstractCursor.addEventListener} and the respective Event types. * @public */ export declare interface AbstractCursorEventMap extends DisposableEventMap { } /** * @public */ declare interface AbstractCursorPosition { resultTable: Point; resultTableScale: UserScaleDefinition; pointMarkerFillStyle?: FillStyle; pointMarkerStrokeStyle?: LineStyle; pointMarkerShape?: PointShape; pointMarkerSize?: Point; } /** * End user managed Tick. Custom ticks are just like default ticks, except they can be completely controlled by the end user. * * For example, their position, text, text fill style, gridline style, etc. everything can be customized. * They can be created whenever and destroyed whenever. * * This definition of Custom Tick is abstract, meaning that it is not tied to any specific chart type. * See specific implementations: * * - {@link CustomTick} * - {@link CustomTick3D} * - {@link ParallelCoordinateAxisCustomTick} * * @public */ export declare interface AbstractCustomTick extends Disposable, DisposableEvents, Hideable, HideableEvents { /** * Set location of custom tick on its Axis. * * ```ts * // Example usage * CustomTick.setValue(5) * ``` * * @param value - Location on axis. * @returns Object itself * @public */ setValue(value: number): this; /** * Get location of custom tick on its Axis. * @returns Location on axis. * @public */ getValue(): number; /** * Set style of custom ticks tickline. * This line connects the text to its Axis, generally a very short line (6 pixels, or so). * * ```ts * // Example syntax, specify LineStyle * CustomTick.setTickStyle(new SolidLine({ * thickness: 2, * fillStyle: new SolidFill({ color: ColorHEX('#F00') }) * })) * ``` * * ```ts * // Example syntax, change thickness only * CustomTick.setTickStyle((stroke) => new SolidLine({ ...stroke, thickness: 5 })) * ``` * * ```ts * // Example syntax, disable stroke * CustomTick.setTickStyle(emptyLine) * ``` * * @param value - LineStyle or function which returns a LineStyle based on previous value. * @returns Object itself. * @public */ setTickStyle(value: LineStyle | ImmutableMutator): this; /** * Get style of custom ticks tickline. * @returns LineStyle * @public */ getTickStyle(): LineStyle; /** * Set tickline length as pixels. * * ```ts * // Example usage * CustomTick.setTickLength(5) * ``` * * @param length - Tickline length as pixels * @returns Object itself * @public */ setTickLength(length: number): this; /** * Get tickline length as pixels. * @returns Tickline length as pixels. * @public */ getTickLength(): number; /** * Set style of custom ticks gridline. * This line highlights the tick location under the series area. * * ```ts * // Example syntax, specify LineStyle * CustomTick.setGridStrokeStyle(new SolidLine({ * thickness: 2, * fillStyle: new SolidFill({ color: ColorHEX('#F00') }) * })) * ``` * * ```ts * // Example syntax, change thickness only * CustomTick.setGridStrokeStyle((stroke) => new SolidLine({ ...stroke, thickness: 5 })) * ``` * * ```ts * // Example syntax, disable stroke * CustomTick.setGridStrokeStyle(emptyLine) * ``` * * @param value - LineStyle or function which returns a LineStyle based on previous value. * @returns Object itself. * @public */ setGridStrokeStyle(value: LineStyle | ImmutableMutator): this; /** * Get style of custom ticks gridline. * @returns LineStyle * @public */ getGridStrokeStyle(): LineStyle; /** * Set padding between CustomTick tickline and text. * * ```ts * // Example usage * CustomTick.setTextPadding(5) * ``` * * @param padding - Padding as pixels * @returns Object itself * @public */ setTextPadding(padding: number): this; /** * Get padding between CustomTick tickline and text. * @returns Padding as pixels * @public */ getTextPadding(): number; /** * Set custom tick text rotation as degrees. * * ```ts * // Example usage * CustomTick.setTextRotation(90) * ``` * * @param value - Rotation as degrees. * @returns Object itself * @public */ setTextRotation(value: number): this; /** * Get custom tick text rotation as degrees. * @returns Rotation as degrees. * @public */ getTextRotation(): number; /** * Set fill style of custom ticks text. * * ```ts * // Example syntax, red fill * CustomTick.setTextFillStyle(new SolidFill({ color: ColorRGBA(255, 0, 0) })) * ``` * * ```ts * // Example syntax, disable fill * CustomTick.setTextFillStyle(emptyFill) * ``` * * @param value - FillStyle or function which returns a FillStyle based on previous value. * @returns Object itself. * @public */ setTextFillStyle(value: FillStyle | ImmutableMutator): this; /** * Get fill style of custom ticks text. * @returns FillStyle * @public */ getTextFillStyle(): FillStyle; /** * Set font of custom ticks text. * * ```ts * // Example syntax, specify FontSettings * CustomTick.setTextFont(new FontSettings({ * size: 14, * family: 'Arial', * weight: 'normal', * })) * ``` * * ```ts * // Example syntax, change to italic * CustomTick.setTextFont(font => font.setStyle('italic')) * ``` * * To remove custom tick text, use {@link setTextFillStyle} * * @param value - FontSettings or function which returns a FontSettings based on previous value. * @returns Object itself. * @public */ setTextFont(value: FontSettings | ImmutableMutator): this; /** * Get font of custom ticks text. * @returns FontSettings * @public */ getTextFont(): FontSettings; /** * Set text formatting of custom tick as a callback function. * * ```ts * // Example usage * CustomTick.setTextFormatter((value) => `Custom tick at ${value.toFixed(1)}`) * ``` * * The supplied callback function is called with the current axis location of the custom tick. * To provide hard defined text, just ignore the `value`. * * ```ts * // Example, hard defined custom tick text. * CustomTick.setTextFormatter(() => `My tick text`) * ``` * * @param textFormatter - Callback function which returns custom tick text as string. * @returns Object itself * @public */ setTextFormatter(textFormatter: (value: number) => string): this; /** * Set component mouse interactions enabled or disabled. * * Disabling mouse interactions means that the objects below this component can be interacted _through_ it. * * @param state - Specifies state of mouse interactions * @returns Object itself for fluent interface * @public */ setPointerEvents(state: boolean): this; /** * Get mouse interactions enabled or disabled. * @returns Mouse interactions state * @public */ getPointerEvents(): boolean; addEventListener(type: 'dispose', listener: (event: DisposeEvent, info: unknown) => unknown, options?: LCJSAddEventListenerOptions): void; addEventListener(type: 'visiblechange', listener: (event: VisibleChangedEvent, info: unknown) => unknown, options?: LCJSAddEventListenerOptions): void; addEventListener(type: 'valuechange', listener: (event: CustomTickValueChangeEvent, info: unknown) => unknown, options?: LCJSAddEventListenerOptions): void; removeEventListener(type: 'dispose', listener: (event: DisposeEvent, info: unknown) => unknown): void; removeEventListener(type: 'visiblechange', listener: (event: VisibleChangedEvent, info: unknown) => unknown): void; removeEventListener(type: 'valuechange', listener: (event: CustomTickValueChangeEvent, info: unknown) => unknown): void; } /** * Abstract base class for Point Series 3D implementations. * * Implements full series logic except for Point Style API and segment length. * @public */ declare abstract class AbstractPointSeries3D