import { Event } from "survey-core"; import { SelectBase } from "../selectBase"; import { IAnswersData, VisualizerBase } from "../visualizerBase"; import { NumberModel } from "../number"; import { DashboardTheme } from "../theme"; export interface PlotlyOptions { traces: Array; layout: any; hasSeries: boolean; } export declare class PlotlySetup { static imageExportFormat: string; static defaultBarGap: number; static defaultModebarConfig(theme: DashboardTheme): { bgcolor: string; activecolor: string; color: string; }; static defaultTooltipConfig(theme: DashboardTheme): { bgcolor: string; font: { size: number; family: string; color: string; weight: number; }; }; static defaultLegendConfig(model: SelectBase): { orientation: string; xanchor: string; yanchor: string; x: number; y: number; bordercolor: any; borderwidth: any; itemwidth: number; font: { size: number; family: string; color: string; weight: number; }; }; static defaultAxisConfig(theme: DashboardTheme): { zerolinecolor: string; automargin: boolean; tickfont: { size: number; family: string; color: string; weight: number; }; }; static defaultInsideLabelFont(theme: DashboardTheme): { size: number; family: string; color: string; weight: number; }; static defaultUniformTextConfig(theme: DashboardTheme): { minsize: number; mode: "hide"; }; static defaultInsideBarTextConfig(theme: DashboardTheme): { textposition: string; constraintext: string; textangle: number; insidetextanchor: string; insidetextfont: { size: number; family: string; color: string; weight: number; }; }; static defaultAxisXConfig(theme: DashboardTheme): { ticklabelstandoff: number; zerolinecolor: string; automargin: boolean; tickfont: { size: number; family: string; color: string; weight: number; }; }; static defaultAxisXWithGridLineConfig(theme: DashboardTheme): { gridcolor: string; griddash: string; ticklabelstandoff: number; zerolinecolor: string; automargin: boolean; tickfont: { size: number; family: string; color: string; weight: number; }; }; static defaultAxisYConfig(theme: DashboardTheme): { ticklabelstandoff: number; zerolinecolor: string; automargin: boolean; tickfont: { size: number; family: string; color: string; weight: number; }; }; static defaultAxisYWithGridLineConfig(theme: DashboardTheme): { gridcolor: string; griddash: string; ticklabelstandoff: number; zerolinecolor: string; automargin: boolean; tickfont: { size: number; family: string; color: string; weight: number; }; }; static defaultAxisTitleFont(theme: DashboardTheme): any; static defaultGaugeConfig(theme: any): { bgcolor: string; bordercolor: string; bar: { color: string; thickness: number; }; }; static defaultValueGaugeFont(theme: DashboardTheme): { size: number; family: string; color: string; weight: number; }; static defaultGaugeTickFont(theme: DashboardTheme): { size: number; family: string; color: string; weight: number; }; static noDataAnnotations(theme: DashboardTheme): any; /** * Fires when end user clicks on the 'save as image' button. */ static onImageSaving: Event<(sender: VisualizerBase, options: any) => any, VisualizerBase, any>; /** * Fires before plot will be created. User can change traces, layout and config of the plot. * Options is an object with the following fields: traces, layout and config of the plot. */ static onPlotCreating: Event<(sender: VisualizerBase, options: any) => any, VisualizerBase, any>; static setups: { [type: string]: (model: VisualizerBase, answersData: IAnswersData) => PlotlyOptions; }; static setup(charType: string, model: VisualizerBase, answersData: IAnswersData): PlotlyOptions; static getTruncatedLabel: (label: string, labelTruncateLength: number) => string; static setupPie(model: SelectBase, answersData: IAnswersData): PlotlyOptions; static setupBar(model: SelectBase, answersData: IAnswersData): PlotlyOptions; static setupVBar(model: SelectBase, answersData: IAnswersData): PlotlyOptions; static setupScatter(model: SelectBase, answersData: IAnswersData): PlotlyOptions; static setupGauge(model: NumberModel, answersData: IAnswersData): PlotlyOptions; static setupRadar(model: SelectBase, answersData: IAnswersData): PlotlyOptions; }