import { DecimalPipe } from '@angular/common';
import { Point2D } from '@obliczeniowo/elementary/classes';
import { DrawingContextInterface, Rect, TextAlign } from '@obliczeniowo/elementary/drawing';
import { AxisOptions, YAxisOptions } from '../linear-diagram-2-d';
import { MinMax } from '@obliczeniowo/elementary/math';
export declare abstract class YAxisI {
    protected textAlign: TextAlign;
    /** pipe used for formatting x/y axis text */
    decimalPipe: DecimalPipe;
    /**
     * Function that give you control over format of y axis values
     * this function can be overrided let programmer use whatever he want
     * @param y value on scale to draw
     * @param yK y * pow(10, yK) - power of 10 that provide  number into n.xxxx format
     * @returns formatted string value of y scale
     */
    yFormatter: (y: number, yK: number) => string;
    abstract draw(dc: DrawingContextInterface, startPoint: Point2D, startScale: Point2D, dY: number, minMax: MinMax, yScale: number, yK: number, diagramArea: Rect, yLabel: string, yOptions?: AxisOptions): number;
}
export declare class YAxis extends YAxisI {
    draw(dc: DrawingContextInterface, startPoint: Point2D, startScale: Point2D, dY: number, minMax: MinMax, yScale: number, yK: number, diagramArea: Rect, yLabel: string, yOptions: YAxisOptions): number;
}
