import { Rect } from '@syncfusion/ej2-svg-base'; import { RangeNavigator, RangeSlider, PeriodsModel, FontModel } from '../../range-navigator'; import { ExcelRowAndColumn } from '../../accumulation-chart'; import { IChartEventArgs } from '../../chart/model/chart-interface'; /** @private */ export interface IFontMapping { size?: string; color?: string; fontWeight?: string; fontStyle?: string; fontFamily?: string; opacity?: number; } /** @private */ export interface IShapes { renderOption?: Object; functionName?: string; } /** @private */ /** * Specifies the Theme style for scrollbar. */ export interface IScrollbarThemeStyle { backRect: string; thumb: string; circle: string; circleHover: string; arrow: string; grip: string; arrowHover?: string; backRectBorder?: string; } export interface ILegendRegions { rect: Rect; index: number; } /** * Period selector component interface * * @private */ export interface IPeriodSelectorControl { /** * Element for the control */ element: HTMLElement; /** * Series min value. */ seriesXMin: number; /** * Series max value. */ seriesXMax: number; /** * Start value for the axis. */ startValue: number; /** * End value for the axis. */ endValue: number; /** * Range slider instance. */ rangeSlider: RangeSlider; /** * To disable the range selector. */ disableRangeSelector: boolean; /** * To config period selector settings. */ periods: PeriodsModel[]; /** * Range navigator */ rangeNavigatorControl: RangeNavigator; } /** * Header Footer Content. * */ export interface IPDFArgs { /** * Content of the header */ content: string; /** * FontSize of the content */ fontSize?: number; /** * x position for the content */ x?: number; /** * y position for the content */ y?: number; } /** * Interface representing the arguments passed to an event that occurs after exporting data. * * @interface * @private */ export interface IAfterExportEventArgs { /** Specifies the name of the event. */ name: string; /** Defines the event's cancellation status. */ cancel: boolean; /** Provides the data URL generated after exporting. */ dataUrl: string; } /** * Provides the event arguments for the chart export functionality. * */ export interface IExportEventArgs extends IChartEventArgs { /** * Specifies the width of the exported chart in pixels. * This value determines the width of the output file when exporting the chart as an image, PDF, or Excel file. * */ width: number; /** * Specifies the height of the exported chart in pixels. * This value determines the height of the output file when exporting the chart as an image, PDF, or Excel file. * */ height: number; /** * Defines additional properties related to the Excel export functionality. * This includes settings such as sheet name, cell formatting, and customization options for exported data. * * If not specified, the default Excel export settings will be applied. */ excelProperties?: ExcelProperties; } /** * Axis visible range. * * @public */ export interface VisibleRangeModel { /** Axis minimum value. */ min?: number; /** Axis maximum value. */ max?: number; /** Axis interval value. */ interval?: number; /** Axis delta value. */ delta?: number; } /** * Defines the properties related to Excel export for the chart. * These properties are applicable only when exporting the chart to an Excel file. * * @interface * @private */ export interface ExcelProperties { /** Specifies the collection of rows to be exported to the Excel sheet. */ rows: ExcelRowAndColumn[]; /** Specifies the collection of columns to be exported to the Excel sheet. */ columns: ExcelRowAndColumn[]; } /** * Provides the event arguments for crosshair label render in both Chart and StockChart. * * @public */ export interface ICrosshairLabelRenderEventArgs { /** Defines the text to be displayed in the crosshair label. */ text: string; /** Specifies the raw value (number or Date) for which the label is rendered. */ value: number | Date; /** Defines the axis name associated with the crosshair label. */ axisName?: string; /** Specifies the background fill color of the label (if supported). */ fill?: string; /** Specifies the text style for the label (if supported). */ textStyle?: FontModel; /** Indicates the orientation of the axis associated with the label. */ axisOrientation?: 'Horizontal' | 'Vertical'; /** Defines the event's cancellation status. */ cancel?: boolean; }