import { IGradient, ISettings, XAxisData, YAxisData } from "../interfaces";
import { WidgetSettingsArray, WidgetSettingsItem } from "../widgetSettings";
import { ChartType } from "../types";
export declare class SettingsHelper {
    /**
     * Возвращает настройку из сеттингов виджета
     * @param settings Объект с настройками
     * @param path название поля
     * @return возвращает значение того типа, к которому присваивается результат, поэтому нужен тип T
     */
    static getWidgetSetting<T = void>(config: WidgetSettingsArray, settings: ISettings, path: string): T;
    /**
     * Возвращает настройку из датасета
     * @param settings Объект с настройками
     * @param path название поля
     * @return возвращает значение того типа, к которому присваивается результат, поэтому нужен тип T
     */
    static getDataSetSettings<T = void>(config: WidgetSettingsArray, settings: ISettings, path: string): T;
    /**
     * Получить конфигурацию настройки по пути до нее
     */
    static getWidgetSettingByPath(config: WidgetSettingsArray, parts: string[]): WidgetSettingsItem;
    /**
     * Получить настройки title
     */
    static getTitleSettings(config: WidgetSettingsArray, settings: ISettings): {
        show: boolean;
        name: string;
        style: string;
    };
    /**
     * Получить настройки legend
     */
    static getLegendSettings(config: WidgetSettingsArray, settings: ISettings): Object;
    /**
     * Получить настройки grid.border
     */
    static getBorderSettings(config: WidgetSettingsArray, settings: ISettings): ISettings;
    /**
     * Получить настройки fill для echarts
     */
    static getFillSettings(config: WidgetSettingsArray, settings: ISettings, chartType: ChartType): ISettings;
    /**
     * Получить настройки градиента для echarts
     */
    static getGradientSettings(gradient: IGradient): ISettings;
    /**
     * Получить настройки label для echarts
     * См. https://echarts.apache.org/en/option.html#series-line.label.formatter
     */
    static getLabelSettings(config: WidgetSettingsArray, settings: ISettings): ISettings;
    /**
     * Получить настройки axis для echarts
     */
    static getXAxisSettings(axisData: XAxisData, axisIndex: number, type: string, formatter: any, // tslint:disable-line:no-any
    offset: number, hasHistogram: boolean, triggerEvent: boolean): ISettings;
    /**
     * Получить настройки axis для echarts
     */
    static getYAxisSettings(axisData: YAxisData, axisIndex: number, type: string, offset: number, nameRotate: number): ISettings;
    /**
     * Возвращает строку стилей для background
     */
    static getBackgroundStyle(gradient: IGradient): string;
    /**
     * Возвращает строку стилей для background
     */
    static getPaddingStyle(paddings: ISettings): string;
    /**
     * Получить строку стилей для singleValue
     */
    static getSingleValueStyle(value: number, settings: ISettings): [string, string];
    /**
     * Отформатировать singleValue
     */
    static formatSingleValue(settings: ISettings): (params: {
        value: string | number;
    } | []) => string;
    /**
     * Отформатировать scatterValue
     */
    static formatScatterValue(settings: ISettings): Function;
}
