import { GoalLine, KeyId, Tick } from '../ChartsV2/types';
import { DataType } from '../Field/types';
import { QueryAttributes } from '../QueryAttributes/types';
import { FormattedResult } from '../Result/types';
declare type FormattingFunction = (_value: unknown, _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[];
    stacked?: boolean;
    xAxisMin?: number | null;
    xAxisMax?: number | null;
    yAxisMin?: number | null;
    yAxisMax?: number | null;
}
interface getScaleAndTicksReturn {
    x: {
        ticks: Array<Tick<Date | string | number | boolean>>;
        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: (args: getScaleAndTicksArgs) => getScaleAndTicksReturn;
export declare const getScaleAndTicksForDualAxis: (args: getScaleAndTicksArgs) => getScaleAndTicksReturn;
export {};
