import { UnionOfPlotDataTypes, BarLayoutOptions, OrientationOptions } from '../types/plots'; import { NumberOrDateRange, NumberOrTimeDelta, NumberOrTimeDeltaRange, NumberRange } from '../types/general'; /** Parameters that can be passed to the hook for initialization. */ export declare type usePlotControlsParams = { data: DataShape; onSelectedUnitChange?: (newUnit: string) => Promise; histogram?: { /** Optional override for binWidthRange that is provided by * data backend or calculated. */ binWidthRange?: NumberOrTimeDeltaRange; /** Optional override for binWidthStep that is provided by * data backend or calculated. */ binWidthStep?: number; onBinWidthChange: (binWidth: NumberOrTimeDelta) => Promise; selectedRange?: NumberOrDateRange; /** A switch to show/hide the range controls */ displaySelectedRangeControls?: boolean; /** Type of x-variable 'number' or 'date' */ valueType?: 'number' | 'date'; dependentAxisLogScale?: boolean; dependentAxisRange?: NumberOrDateRange; dependentAxisMode?: 'absolute' | 'relative'; independentAxisRange?: NumberOrDateRange; }; ScatterPlot?: { valueSpec?: string; }; }; /** * Custom hook to manage and share state between controls and plot components. */ export default function usePlotControls(params: usePlotControlsParams): { errorManagement: { errors: Error[]; addError: (error: Error) => void; removeError: (error: Error) => void; clearAllErrors: () => void; }; histogram: { onBinWidthChange: (binWidth: NumberOrTimeDelta) => void; onSelectedRangeChange: (newRange?: NumberOrDateRange | undefined) => void; toggleDependentAxisLogScale: () => void; onDependentAxisRangeChange: (newRange?: NumberRange | undefined) => void; onDependentAxisModeChange: () => void; onDependentAxisRangeReset: () => void; onIndependentAxisRangeChange: (newRange?: NumberOrDateRange | undefined) => void; onIndependentAxisRangeReset: () => void; /** Histogram: The width of bins. */ binWidth: NumberOrTimeDelta; /** Histogram: Range of bin width values. */ binWidthRange: NumberOrTimeDeltaRange; /** Increment for increasing/decrease bin width. */ binWidthStep: number; /** The currently selected range along the x-axis */ selectedRange?: NumberOrDateRange | undefined; /** The min/max allowed values for the range controls */ selectedRangeBounds?: NumberOrDateRange | undefined; /** A switch to show/hide the range controls */ displaySelectedRangeControls: boolean; /** Type of x-variable 'number' or 'date' */ valueType?: "number" | "date" | undefined; /** Histogram: Type of y-axis log scale */ dependentAxisLogScale?: boolean | undefined; /** Histogram: Range of y-axis min/max values */ dependentAxisRange?: NumberRange | undefined; /** Histogram: Toggle absolute and relative.*/ dependentAxisMode?: "absolute" | "relative" | undefined; /** Histogram: dependent axis range reset */ onDependentAxisSettingsReset?: (() => void) | undefined; /** Histogram: Range of x-axis min/max values */ independentAxisRange?: NumberOrDateRange | undefined; }; resetOpacity: () => void; onBarLayoutChange: (layout: BarLayoutOptions) => void; onSelectedUnitChange: (newUnit: string) => Promise; onOpacityChange: (opacity: number) => void; toggleDisplayLegend: () => void; toggleOrientation: () => void; toggleLibraryControls: () => void; onResetAll: () => void; ScatterPlot: { onValueSpecChange: (value: string) => void; valueSpec?: string | undefined; }; /** The data of the plot. */ data: DataShape; /** Whether or not to display the plot legend. Defaults to true. */ displayLegend: boolean; /** Whether or not to display the additionally controls that * may be provided by the charting library used to generate the plot. * For example, Plot.ly controls.*/ displayLibraryControls: boolean; /** The opacity of the plot. A number between 0 and 1. */ opacity: number; /** The orientation of the plot. Defaults to 'vertical'. */ orientation: OrientationOptions; /** Layout options for bar charts. Defaults to 'overlay'. */ barLayout: BarLayoutOptions; /** Different units that can be selected. Will cause * backend data recalculation. For example, for a series * of chronological data: years, months, days. */ availableUnits?: string[] | undefined; /** The unit currently selected out of the available units. */ selectedUnit?: string | undefined; }; //# sourceMappingURL=usePlotControls.d.ts.map