import { KeyId, GoalLine } from './types';
import { QueryAttributes } from '../QueryAttributes/types';
import { DataType } from '../Field/types';
import { FormattedResult } from '../Result/types';
import { Tick } from '../ChartsV2/types';
declare type FormattingFunction = (value: any, nullValueAlias?: string) => string;
interface getScaleAndTicksArgs {
    data: FormattedResult['contentMapped'];
    xKey: string | null;
    xScaleDataType: DataType;
    yKeys: string[];
    nullValue: string | undefined;
    tickCountYAxis: number;
    formattingFunctionX: FormattingFunction;
    formattingFunctionY: FormattingFunction;
    order: QueryAttributes.Order[];
    goalLines: GoalLine[];
}
interface getScaleAndTicksReturn {
    x: {
        ticks: Array<Tick<Date | string | number>>;
        scale: {
            max: number | Date | null;
            min: number | Date | null;
            key: KeyId | null;
            ordering: 'asc' | 'desc' | null;
            dataType: DataType;
        };
    };
    y: {
        ticks: Array<Tick<number>>;
        scale: {
            max: number;
            min: number;
            key: null;
            ordering: 'asc' | 'desc';
            dataType: 'number';
        };
    };
}
export declare const getScaleAndTicks: ({ data, xKey, yKeys, xScaleDataType, nullValue, tickCountYAxis, formattingFunctionX, formattingFunctionY, order, goalLines, }: getScaleAndTicksArgs) => getScaleAndTicksReturn;
export {};
