import type { DataItem } from "../../core/render/Component"; import type { SlicedChart } from "./SlicedChart"; import { PercentSeries, IPercentSeriesSettings, IPercentSeriesDataItem, IPercentSeriesPrivate } from "../percent/PercentSeries"; import { ListTemplate } from "../../core/util/List"; import { FunnelSlice } from "./FunnelSlice"; import { Tick } from "../../core/render/Tick"; import { Label } from "../../core/render/Label"; import type { Bullet } from "../../core/render/Bullet"; export interface IFunnelSeriesDataItem extends IPercentSeriesDataItem { /** * A related slice element. */ slice: FunnelSlice; /** * A related slice link element */ link: FunnelSlice; /** * Data item's index. */ index: number; } export interface IFunnelSeriesSettings extends IPercentSeriesSettings { /** * Width of the bottom edge of the slice relative to the top edge of the next * slice. * * `1` - means the full width of the slice, resulting in a rectangle. * `0` - means using width of the next slice, resulting in a trapezoid. * * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/funnel-series/#Slice_bottom_width} for more info * @default 1 */ bottomRatio?: number; /** * Orientation of the series. * * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/#Series_orientation} for more info * @default "vertical" */ orientation: "horizontal" | "vertical"; /** * If set to `true`, series will not create slices for data items with zero * value. */ ignoreZeroValues?: boolean; /** * Should labels be aligned into columns/rows? * * @default false */ alignLabels?: boolean; /** * Relative location within area available to series where it should start. * * `0` - beginning, `1` - end, or any intermediate value. * * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/funnel-series/#Start_end_locations} for more info * @default 0 */ startLocation?: number; /** * Relative location within area available to series where it should start. * * `0` - beginning, `1` - end, or any intermediate value. * * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/funnel-series/#Start_end_locations} for more info * @default 0 */ endLocation?: number; } export interface IFunnelSeriesPrivate extends IPercentSeriesPrivate { } /** * Creates a funnel series for use in a [[SlicedChart]]. * * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/funnel-series/} for more info * @important */ export declare class FunnelSeries extends PercentSeries { /** * A chart series is attached to. */ chart: SlicedChart | undefined; protected _tag: string; _sliceType: FunnelSlice; _labelType: Label; _tickType: Tick; protected _makeSlices(): ListTemplate; protected _makeLabels(): ListTemplate; protected _makeTicks(): ListTemplate; /** * A [[ListTemplate]] of all slice links in series. * * `links.template` can also be used to configure slice links. * * @see {@link https://www.amcharts.com/docs/v5/charts/percent-charts/sliced-chart/funnel-series/#Slice_links} for more info */ readonly links: ListTemplate; protected _makeLinks(): ListTemplate; /** * @ignore */ makeLink(dataItem: DataItem): this["_sliceType"]; static className: string; static classNames: Array; _settings: IFunnelSeriesSettings; _privateSettings: IFunnelSeriesPrivate; _dataItemSettings: IFunnelSeriesDataItem; protected _total: number; protected _count: number; protected _nextCoord: number; protected _opposite: boolean; protected _afterNew(): void; protected processDataItem(dataItem: DataItem): void; _updateChildren(): void; protected _fixLayout(): void; protected getNextValue(dataItem: DataItem): number; protected isLast(dataItem: DataItem): boolean; protected decorateSlice(dataItem: DataItem): void; /** * Hides series's data item. * * @param dataItem Data item * @param duration Animation duration in milliseconds * @return Promise */ hideDataItem(dataItem: DataItem, duration?: number): Promise; /** * Shows series's data item. * * @param dataItem Data item * @param duration Animation duration in milliseconds * @return Promise */ showDataItem(dataItem: DataItem, duration?: number): Promise; protected _updateTick(dataItem: DataItem): void; /** * @ignore */ disposeDataItem(dataItem: DataItem): void; _positionBullet(bullet: Bullet): void; } //# sourceMappingURL=FunnelSeries.d.ts.map