///
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