import { ChartDrawArea, ChartView } from "../mmviz-common/index"; import { ScaleTypeEnum, ScaleContainer, ScaleContainerTypeEnum } from "./scale_container"; export declare enum ProjectionTypeEnum { GEO_ALBERS_USA = 1, GEO_ALBERS_USA_PR = 2, GEO_MERCATOR = 3, } export declare class LayoutScale { DEFAULT_LEGEND_LABEL: string; drawArea: ChartDrawArea; scaleContainerMap: any; constructor(drawArea: ChartDrawArea); createScaleContainer(key: string, type: ScaleContainerTypeEnum): LayoutScale; addScaleContainer(key: string, scaleContainer: ScaleContainer): LayoutScale; createCustomScaleContainer(key: string, type: ScaleTypeEnum, domain: any[], range: any[], defaultValue?: any): LayoutScale; createCustomScaleObjectContainer(key: string, type: ScaleTypeEnum, scaleObject: any): LayoutScale; createCustomOrdinalScaleContainer(key: string, domain: any[], rangeMapper: Function): LayoutScale; createMapCustomOrdinalScaleContainer(key: string, dataModel: any, rangeMapper: Function): LayoutScale; getScaleContainer(key: string): ScaleContainer; extendAreaScale(key: string, newDomain: any[]): void; makeRangeMultipleOfDomain(key: string, multiple: number): void; setScaleLabel(key: string, label: string): this; setScaleDefaultValue(key: string, defaultValue: any): this; setScaleDomain(key: string, domain: any): this; setScaleRange(key: string, range: any): this; getScaleModel(key: string): { key: string; itemArray: any[]; }; extendScaleDomain(key: string, newDomain: any[]): this; extendScaleRange(key: string, newRange: any[]): this; /** * Map data value via scaleContainer identified by key. * The valueMapper function used to get the data value is located in the dataModel. * If a rangeMapper is provided, * the range value it returns overrides the range value returned by the scaleContainer. * @param key * @param dataModel * @param d */ mapValue(key: any, dataModel: any, d: any): any; mapAreaRadiusValue(key: any, dataModel: any, d: any): { key: any; value: number; }; valueInvert(key: any, value: any): any; xScaleSetup(type: ScaleTypeEnum): LayoutScale; yScaleSetup(type: ScaleTypeEnum): LayoutScale; extendDomainX(newDomainX: any[]): LayoutScale; extendDomainY(newDomainY: any[]): LayoutScale; /** * Add buffer the domain of the x-axis * @param percent of the current domain extent to increase the domain by */ bufferDomainX(percent: number): this; /** * Add buffer to the domain of the y-axis * @param percent of the current domain extent to increase the domain by */ bufferDomainY(percent: number): this; xyInvert(x: any, y: any): { x: any; y: any; }; readonly xScaleContainer: ScaleContainer; readonly xScale: any; readonly xDomain: any; readonly xDomainExtent: any; readonly xRange: number[]; readonly xRangeExtent: any; readonly yScaleContainer: ScaleContainer; readonly yScale: any; readonly yDomain: any; readonly yDomainExtent: any; readonly yRange: number[]; readonly yRangeExtent: any; readonly area: number; readonly radius: number; readonly lineWidth: number; getProjection(projectionTypeEnum: ProjectionTypeEnum, chartView: ChartView, scaleFactor?: number): any; }