import { AvgAggregationState, Cell, Column, DecimalFormat, DecimalFormatOptions, InitModelOf, Locale, NumberColumnEventMap, NumberColumnModel, NumberField, Rgba, TableRow } from '../../index';
export type NumberColumnAggregationFunction = 'sum' | 'avg' | 'min' | 'max' | 'none';
export type NumberColumnBackgroundEffect = 'colorGradient1' | 'colorGradient2' | 'barChart';
export type NumberColumnBackgroundStyle = {
    backgroundColor?: string;
    backgroundImage?: string;
};
export type NumberColumnBackgroundEffectFunc = (value: number) => NumberColumnBackgroundStyle;
export declare class NumberColumn extends Column<number> implements NumberColumnModel {
    model: NumberColumnModel;
    eventMap: NumberColumnEventMap;
    self: NumberColumn;
    aggregationFunction: NumberColumnAggregationFunction;
    backgroundEffect: NumberColumnBackgroundEffect;
    decimalFormat: DecimalFormat;
    fractionDigits: number;
    minValue: number;
    maxValue: number;
    /** the calculated min value of all rows */
    calcMinValue: number;
    /** the calculated max value of all rows */
    calcMaxValue: number;
    allowedAggregationFunctions: NumberColumnAggregationFunction[];
    aggrStart: () => number | AvgAggregationState;
    aggrStep: (currentState?: number | AvgAggregationState, newVal?: number) => number | AvgAggregationState;
    aggrFinish: (currentState?: number | AvgAggregationState) => number;
    aggrSymbol: string;
    backgroundEffectFunc: NumberColumnBackgroundEffectFunc;
    constructor();
    protected _init(model: InitModelOf<this>): void;
    setDecimalFormat(decimalFormat: DecimalFormat | string | DecimalFormatOptions): void;
    protected _setDecimalFormat(decimalFormat: DecimalFormat | string | DecimalFormatOptions): void;
    protected _getDefaultFormat(locale: Locale): string;
    protected _formatValue(value: number, row?: TableRow): string;
    setFractionDigits(fractionDigits: number): void;
    protected _setFractionDigits(fractionDigits: number): void;
    protected _ensureValue(value: number | string): number;
    setAggregationFunction(aggregationFunction: NumberColumnAggregationFunction): void;
    protected _setAggregationFunction(func: NumberColumnAggregationFunction): void;
    createAggrValueCell(value: number): Cell<number>;
    protected _cellStyle(cell: Cell<number>, tableNodeColumn?: boolean, rowPadding?: number): string;
    protected _preprocessValueOrTextForCalculation(value: number, cell?: Cell<number>): number;
    setBackgroundEffect(backgroundEffect: NumberColumnBackgroundEffect): void;
    /**
     * Recalculates the min / max values and renders the background effect again.
     */
    updateBackgroundEffect(): void;
    protected _resolveBackgroundEffectFunc(): NumberColumnBackgroundEffectFunc;
    /** @internal */
    _renderBackgroundEffect(): void;
    calculateMinMaxValues(): void;
    protected _colorGradient1(value: number): NumberColumnBackgroundStyle;
    protected _colorGradient2(value: number): NumberColumnBackgroundStyle;
    protected _colorGradient(value: number, startColor: Rgba, endColor: Rgba): NumberColumnBackgroundStyle;
    protected _barChart(value: number): NumberColumnBackgroundStyle;
    protected _createEditor(row: TableRow): NumberField;
    protected _hasCellValue(cell: Cell<number>): boolean;
}
//# sourceMappingURL=NumberColumn.d.ts.map