import { HorizontalAlignment } from "igniteui-react-core/ES5/HorizontalAlignment";
import { VerticalAlignment } from "igniteui-react-core/ES5/VerticalAlignment";
import { Visibility } from "igniteui-react-core/ES5/Visibility";
import { AxisLabelsLocation } from "./AxisLabelsLocation";
import { IgrDomainChart, IIgrDomainChartProps } from "./igr-domain-chart";
import { XYChart } from "./XYChart";
/**
 * Represents a base class for domain charts with X/Y axes
*/
export declare abstract class IgrXYChart<P extends IIgrXYChartProps = IIgrXYChartProps> extends IgrDomainChart<P> {
    readonly i: XYChart;
    constructor(props: P);
    /**
     * Gets or sets function which takes an context object and returns a formatted label for the X-axis.
    */
    xAxisFormatLabel: (item: any) => string;
    /**
     * Gets or sets function which takes a context object and returns a formatted label for the Y-axis.
    */
    yAxisFormatLabel: (item: any) => string;
    /**
     * Gets or sets the left margin of labels on the X-axis
    */
    xAxisLabelLeftMargin: number;
    /**
     * Gets or sets the top margin of labels on the X-axis
    */
    xAxisLabelTopMargin: number;
    /**
     * Gets or sets the right margin of labels on the X-axis
    */
    xAxisLabelRightMargin: number;
    /**
     * Gets or sets the bottom margin of labels on the X-axis
    */
    xAxisLabelBottomMargin: number;
    /**
     * Gets or sets the left margin of labels on the Y-axis
    */
    yAxisLabelLeftMargin: number;
    /**
     * Gets or sets the top margin of labels on the Y-axis
    */
    yAxisLabelTopMargin: number;
    /**
     * Gets or sets the right margin of labels on the Y-axis
    */
    yAxisLabelRightMargin: number;
    /**
     * Gets or sets the bottom margin of labels on the Y-axis
    */
    yAxisLabelBottomMargin: number;
    /**
     * Gets or sets color of labels on the X-axis
    */
    xAxisLabelTextColor: string;
    /**
     * Gets or sets color of labels on the Y-axis
    */
    yAxisLabelTextColor: string;
    /**
     * Gets or sets the margin around a title on the X-axis
    */
    xAxisTitleMargin: number;
    /**
     * Gets or sets the margin around a title on the Y-axis
    */
    yAxisTitleMargin: number;
    /**
     * Gets or sets the left margin of a title on the X-axis
    */
    xAxisTitleLeftMargin: number;
    /**
     * Gets or sets the left margin of a title on the Y-axis
    */
    yAxisTitleLeftMargin: number;
    /**
     * Gets or sets the top margin of a title on the X-axis
    */
    xAxisTitleTopMargin: number;
    /**
     * Gets or sets the top margin of a title on the Y-axis
    */
    yAxisTitleTopMargin: number;
    /**
     * Gets or sets the right margin of a title on the X-axis
    */
    xAxisTitleRightMargin: number;
    /**
     * Gets or sets the right margin of a title on the Y-axis
    */
    yAxisTitleRightMargin: number;
    /**
     * Gets or sets the bottom margin of a title on the X-axis
    */
    xAxisTitleBottomMargin: number;
    /**
     * Gets or sets the bottom margin of a title on the Y-axis
    */
    yAxisTitleBottomMargin: number;
    /**
     * Gets or sets color of title on the X-axis
    */
    xAxisTitleTextColor: string;
    /**
     * Gets or sets color of title on the Y-axis
    */
    yAxisTitleTextColor: string;
    /**
     * Gets or sets CSS font property for labels on X-axis
    */
    xAxisLabelTextStyle: string;
    /**
     * Gets or sets CSS font property for labels on Y-axis
    */
    yAxisLabelTextStyle: string;
    /**
     * Gets or sets CSS font property for title on X-axis
    */
    xAxisTitleTextStyle: string;
    /**
     * Gets or sets CSS font property for title on Y-axis
    */
    yAxisTitleTextStyle: string;
    /**
     * Gets or sets the format for labels along the X-axis.
    */
    xAxisLabel: any;
    /**
     * Gets or sets the format for labels along the Y-axis.
    */
    yAxisLabel: any;
    /**
     * Gets or sets the color to apply to major gridlines along the X-axis.
    */
    xAxisMajorStroke: string;
    /**
     * Gets or sets the color to apply to major gridlines along the Y-axis.
    */
    yAxisMajorStroke: string;
    /**
     * Gets or sets the thickness to apply to major gridlines along the X-axis.
    */
    xAxisMajorStrokeThickness: number;
    /**
     * Gets or sets the thickness to apply to major gridlines along the Y-axis.
    */
    yAxisMajorStrokeThickness: number;
    /**
     * Gets or sets the thickness to apply to minor gridlines along the X-axis.
    */
    xAxisMinorStrokeThickness: number;
    /**
     * Gets or sets the thickness to apply to minor gridlines along the Y-axis.
    */
    yAxisMinorStrokeThickness: number;
    /**
     * Gets or sets the color to apply to stripes along the X-axis.
    */
    xAxisStrip: string;
    /**
     * Gets or sets the color to apply to stripes along the Y-axis.
    */
    yAxisStrip: string;
    /**
     * Gets or sets the color to apply to the X-axis line.
    */
    xAxisStroke: string;
    /**
     * Gets or sets the color to apply to the Y-axis line.
    */
    yAxisStroke: string;
    /**
     * Gets or sets the thickness to apply to the X-axis line.
    */
    xAxisStrokeThickness: number;
    /**
     * Gets or sets the thickness to apply to the Y-axis line.
    */
    yAxisStrokeThickness: number;
    /**
     * Gets or sets the length of tickmarks along the X-axis.
    */
    xAxisTickLength: number;
    /**
     * Gets or sets the length of tickmarks along the Y-axis.
    */
    yAxisTickLength: number;
    /**
     * Gets or sets the color to apply to tickmarks along the X-axis.
    */
    xAxisTickStroke: string;
    /**
     * Gets or sets the color to apply to tickmarks along the Y-axis.
    */
    yAxisTickStroke: string;
    /**
     * Gets or sets the thickness to apply to tickmarks along the X-axis.
    */
    xAxisTickStrokeThickness: number;
    /**
     * Gets or sets the thickness to apply to tickmarks along the Y-axis.
    */
    yAxisTickStrokeThickness: number;
    /**
     * Gets or sets the Text to display below the X-axis.
    */
    xAxisTitle: string;
    /**
     * Gets or sets the Text to display to the left of the Y-axis.
    */
    yAxisTitle: string;
    /**
     * Gets or sets the color to apply to minor gridlines along the X-axis.
    */
    xAxisMinorStroke: string;
    /**
     * Gets or sets the color to apply to minor gridlines along the Y-axis.
    */
    yAxisMinorStroke: string;
    /**
     * Gets or sets the angle of rotation for labels along the X-axis.
    */
    xAxisLabelAngle: number;
    /**
     * Gets or sets the angle of rotation for labels along the Y-axis.
    */
    yAxisLabelAngle: number;
    /**
     * Gets or sets the distance between the X-axis and the bottom of the chart.
    */
    xAxisExtent: number;
    /**
     * Gets or sets the distance between the Y-axis and the left edge of the chart.
    */
    yAxisExtent: number;
    /**
     * Gets or sets the angle of rotation for the X-axis title.
    */
    xAxisTitleAngle: number;
    /**
     * Gets or sets the angle of rotation for the Y-axis title.
    */
    yAxisTitleAngle: number;
    /**
     * Gets or sets whether to invert the direction of the X-axis by placing the first data items on the right side of the chart.
    */
    xAxisInverted: boolean;
    /**
     * Gets or sets whether to invert the direction of the Y-axis by placing the minimum numeric value at the top of the chart.
    */
    yAxisInverted: boolean;
    /**
     * Gets or sets Horizontal alignment of the X-axis title.
    */
    xAxisTitleAlignment: HorizontalAlignment;
    /**
     * Gets or sets Vertical alignment of the Y-axis title.
    */
    yAxisTitleAlignment: VerticalAlignment;
    /**
     * Gets or sets Horizontal alignment of X-axis labels.
    */
    xAxisLabelHorizontalAlignment: HorizontalAlignment;
    /**
     * Gets or sets Horizontal alignment of Y-axis labels.
    */
    yAxisLabelHorizontalAlignment: HorizontalAlignment;
    /**
     * Gets or sets Vertical alignment of X-axis labels.
    */
    xAxisLabelVerticalAlignment: VerticalAlignment;
    /**
     * Gets or sets Vertical alignment of Y-axis labels.
    */
    yAxisLabelVerticalAlignment: VerticalAlignment;
    /**
     * Gets or sets Visibility of X-axis labels.
    */
    xAxisLabelVisibility: Visibility;
    /**
     * Gets or sets Visibility of Y-axis labels.
    */
    yAxisLabelVisibility: Visibility;
    /**
     * The location of Y-axis labels, relative to the plot area.
    */
    yAxisLabelLocation: AxisLabelsLocation;
    provideContainer(container: any): void;
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The x-coordinate of the location to scale.
    */
    getScaledValueX(unscaledValue: number): number;
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    getUnscaledValueX(scaledValue: number): number;
    /**
     * Converts the given visual location to a data value.
    
    * @param unscaledValue  * The y-coordinate of the location to scale.
    */
    getScaledValueY(unscaledValue: number): number;
    /**
     * Converts the given data value to a visual location.
    
    * @param scaledValue  * The data value to un-scale.
    */
    getUnscaledValueY(scaledValue: number): number;
}
export interface IIgrXYChartProps extends IIgrDomainChartProps {
    /**
     * Gets or sets function which takes an context object and returns a formatted label for the X-axis.
    */
    xAxisFormatLabel?: (item: any) => string;
    /**
     * Gets or sets function which takes a context object and returns a formatted label for the Y-axis.
    */
    yAxisFormatLabel?: (item: any) => string;
    /**
     * Gets or sets the left margin of labels on the X-axis
    */
    xAxisLabelLeftMargin?: number;
    /**
     * Gets or sets the top margin of labels on the X-axis
    */
    xAxisLabelTopMargin?: number;
    /**
     * Gets or sets the right margin of labels on the X-axis
    */
    xAxisLabelRightMargin?: number;
    /**
     * Gets or sets the bottom margin of labels on the X-axis
    */
    xAxisLabelBottomMargin?: number;
    /**
     * Gets or sets the left margin of labels on the Y-axis
    */
    yAxisLabelLeftMargin?: number;
    /**
     * Gets or sets the top margin of labels on the Y-axis
    */
    yAxisLabelTopMargin?: number;
    /**
     * Gets or sets the right margin of labels on the Y-axis
    */
    yAxisLabelRightMargin?: number;
    /**
     * Gets or sets the bottom margin of labels on the Y-axis
    */
    yAxisLabelBottomMargin?: number;
    /**
     * Gets or sets color of labels on the X-axis
    */
    xAxisLabelTextColor?: string;
    /**
     * Gets or sets color of labels on the Y-axis
    */
    yAxisLabelTextColor?: string;
    /**
     * Gets or sets the margin around a title on the X-axis
    */
    xAxisTitleMargin?: number;
    /**
     * Gets or sets the margin around a title on the Y-axis
    */
    yAxisTitleMargin?: number;
    /**
     * Gets or sets the left margin of a title on the X-axis
    */
    xAxisTitleLeftMargin?: number;
    /**
     * Gets or sets the left margin of a title on the Y-axis
    */
    yAxisTitleLeftMargin?: number;
    /**
     * Gets or sets the top margin of a title on the X-axis
    */
    xAxisTitleTopMargin?: number;
    /**
     * Gets or sets the top margin of a title on the Y-axis
    */
    yAxisTitleTopMargin?: number;
    /**
     * Gets or sets the right margin of a title on the X-axis
    */
    xAxisTitleRightMargin?: number;
    /**
     * Gets or sets the right margin of a title on the Y-axis
    */
    yAxisTitleRightMargin?: number;
    /**
     * Gets or sets the bottom margin of a title on the X-axis
    */
    xAxisTitleBottomMargin?: number;
    /**
     * Gets or sets the bottom margin of a title on the Y-axis
    */
    yAxisTitleBottomMargin?: number;
    /**
     * Gets or sets color of title on the X-axis
    */
    xAxisTitleTextColor?: string;
    /**
     * Gets or sets color of title on the Y-axis
    */
    yAxisTitleTextColor?: string;
    /**
     * Gets or sets CSS font property for labels on X-axis
    */
    xAxisLabelTextStyle?: string;
    /**
     * Gets or sets CSS font property for labels on Y-axis
    */
    yAxisLabelTextStyle?: string;
    /**
     * Gets or sets CSS font property for title on X-axis
    */
    xAxisTitleTextStyle?: string;
    /**
     * Gets or sets CSS font property for title on Y-axis
    */
    yAxisTitleTextStyle?: string;
    /**
     * Gets or sets the format for labels along the X-axis.
    */
    xAxisLabel?: any;
    /**
     * Gets or sets the format for labels along the Y-axis.
    */
    yAxisLabel?: any;
    /**
     * Gets or sets the color to apply to major gridlines along the X-axis.
    */
    xAxisMajorStroke?: string;
    /**
     * Gets or sets the color to apply to major gridlines along the Y-axis.
    */
    yAxisMajorStroke?: string;
    /**
     * Gets or sets the thickness to apply to major gridlines along the X-axis.
    */
    xAxisMajorStrokeThickness?: number;
    /**
     * Gets or sets the thickness to apply to major gridlines along the Y-axis.
    */
    yAxisMajorStrokeThickness?: number;
    /**
     * Gets or sets the thickness to apply to minor gridlines along the X-axis.
    */
    xAxisMinorStrokeThickness?: number;
    /**
     * Gets or sets the thickness to apply to minor gridlines along the Y-axis.
    */
    yAxisMinorStrokeThickness?: number;
    /**
     * Gets or sets the color to apply to stripes along the X-axis.
    */
    xAxisStrip?: string;
    /**
     * Gets or sets the color to apply to stripes along the Y-axis.
    */
    yAxisStrip?: string;
    /**
     * Gets or sets the color to apply to the X-axis line.
    */
    xAxisStroke?: string;
    /**
     * Gets or sets the color to apply to the Y-axis line.
    */
    yAxisStroke?: string;
    /**
     * Gets or sets the thickness to apply to the X-axis line.
    */
    xAxisStrokeThickness?: number;
    /**
     * Gets or sets the thickness to apply to the Y-axis line.
    */
    yAxisStrokeThickness?: number;
    /**
     * Gets or sets the length of tickmarks along the X-axis.
    */
    xAxisTickLength?: number;
    /**
     * Gets or sets the length of tickmarks along the Y-axis.
    */
    yAxisTickLength?: number;
    /**
     * Gets or sets the color to apply to tickmarks along the X-axis.
    */
    xAxisTickStroke?: string;
    /**
     * Gets or sets the color to apply to tickmarks along the Y-axis.
    */
    yAxisTickStroke?: string;
    /**
     * Gets or sets the thickness to apply to tickmarks along the X-axis.
    */
    xAxisTickStrokeThickness?: number;
    /**
     * Gets or sets the thickness to apply to tickmarks along the Y-axis.
    */
    yAxisTickStrokeThickness?: number;
    /**
     * Gets or sets the Text to display below the X-axis.
    */
    xAxisTitle?: string;
    /**
     * Gets or sets the Text to display to the left of the Y-axis.
    */
    yAxisTitle?: string;
    /**
     * Gets or sets the color to apply to minor gridlines along the X-axis.
    */
    xAxisMinorStroke?: string;
    /**
     * Gets or sets the color to apply to minor gridlines along the Y-axis.
    */
    yAxisMinorStroke?: string;
    /**
     * Gets or sets the angle of rotation for labels along the X-axis.
    */
    xAxisLabelAngle?: number;
    /**
     * Gets or sets the angle of rotation for labels along the Y-axis.
    */
    yAxisLabelAngle?: number;
    /**
     * Gets or sets the distance between the X-axis and the bottom of the chart.
    */
    xAxisExtent?: number;
    /**
     * Gets or sets the distance between the Y-axis and the left edge of the chart.
    */
    yAxisExtent?: number;
    /**
     * Gets or sets the angle of rotation for the X-axis title.
    */
    xAxisTitleAngle?: number;
    /**
     * Gets or sets the angle of rotation for the Y-axis title.
    */
    yAxisTitleAngle?: number;
    /**
     * Gets or sets whether to invert the direction of the X-axis by placing the first data items on the right side of the chart.
    */
    xAxisInverted?: boolean;
    /**
     * Gets or sets whether to invert the direction of the Y-axis by placing the minimum numeric value at the top of the chart.
    */
    yAxisInverted?: boolean;
    /**
     * Gets or sets Horizontal alignment of the X-axis title.
    */
    xAxisTitleAlignment?: HorizontalAlignment;
    /**
     * Gets or sets Vertical alignment of the Y-axis title.
    */
    yAxisTitleAlignment?: VerticalAlignment;
    /**
     * Gets or sets Horizontal alignment of X-axis labels.
    */
    xAxisLabelHorizontalAlignment?: HorizontalAlignment;
    /**
     * Gets or sets Horizontal alignment of Y-axis labels.
    */
    yAxisLabelHorizontalAlignment?: HorizontalAlignment;
    /**
     * Gets or sets Vertical alignment of X-axis labels.
    */
    xAxisLabelVerticalAlignment?: VerticalAlignment;
    /**
     * Gets or sets Vertical alignment of Y-axis labels.
    */
    yAxisLabelVerticalAlignment?: VerticalAlignment;
    /**
     * Gets or sets Visibility of X-axis labels.
    */
    xAxisLabelVisibility?: Visibility;
    /**
     * Gets or sets Visibility of Y-axis labels.
    */
    yAxisLabelVisibility?: Visibility;
    /**
     * The location of Y-axis labels, relative to the plot area.
    */
    yAxisLabelLocation?: AxisLabelsLocation;
}
