import { ApiBase } from '../Implementation/ApiBase';
import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
import { StyledColumn } from '../../AdaptableState/StyledColumnState';
import { CellColorRange, ColumnComparison, NumericStyledColumn } from '../../AdaptableState/StyledColumns/Common/NumericStyledColumn';
import { BadgeStyle, BadgeStyleDefinition } from '../../AdaptableState/StyledColumns/BadgeStyle';
import { IRowNode } from 'ag-grid-enterprise';
import type { AgChartInstance, AgSparklineOptions } from 'ag-charts-types';
import { PredicateDefHandlerContext } from '../../types';
export declare class StyledColumnInternalApi extends ApiBase {
    /**
     * Creates a sparkline described by `options` in its target container and
     * returns the chart instance (used to update / destroy it).
     *
     * Centralises sparkline creation so view components don't import
     * `ag-charts-enterprise` directly: the `createSparkline` factory is sourced
     * from the AG Grid Sparklines module via the grid's registry bean.
     */
    createSparkline(options: AgSparklineOptions): AgChartInstance<AgSparklineOptions> | null;
    getMinValueForNumericColumn(column: AdaptableColumn | undefined): number | undefined;
    getMaxValueForNumericColumn(column: AdaptableColumn | undefined): number | undefined;
    getAvgValueForNumericColumn(column: AdaptableColumn | undefined): number | undefined;
    getMedianValueForNumericColumn(column: AdaptableColumn | undefined): number | undefined;
    /**
     * Gets the Minimum Value to display for a Styled Column
     * @param styledColumn Styled Column to check
     * @param rowNode current Row Node
     * @param cellValue current Cell Value
     */
    getNumericStyleMinValue(styledColumn: Omit<StyledColumn, 'ColumnId'>, column: AdaptableColumn, rowNode: IRowNode, cellValue: any): number;
    /**
     * Returns last range that matches the cell value.
     *
     * @param cellRanges
     * @param column
     * @param rangeValueType
     * @param cellValue
     */
    findRangeForColumn(cellRanges: CellColorRange[], column: AdaptableColumn, rangeValueType: NumericStyledColumn['RangeValueType'], cellValue: any): CellColorRange | null;
    /**
     * Gets the Maximum Value to display for a Styled Column
     * @param styledColumn Styled Column to check
     * @param rowNode current Row Node
     * @param cellValue current Cell Value
     */
    getNumericStyleMaxValue(styledColumn: Omit<StyledColumn, 'ColumnId'>, column: AdaptableColumn, rowNode: IRowNode, cellValue: any): number;
    /**
     * Returns the smallest number in a Range
     * @param range Range to check
     * @param column current Column
     */
    getCellColorRangeMinValue(range: CellColorRange, column: AdaptableColumn, rangeValueType: NumericStyledColumn['RangeValueType']): number | undefined;
    /**
     * Returns the largest number in a Range
     * @param range Range to check
     * @param column current Column
     */
    getCellColorRangeMaxValue(range: CellColorRange, column: AdaptableColumn, rangeValueType: NumericStyledColumn['RangeValueType']): number | undefined;
    /**
     * Retrieves the ColumnComparison property, if there, from a Styled Column
     * @param styledColumn Styled Column to Add
     */
    getColumnComparisonForStyledColumn(styledColumn: StyledColumn): ColumnComparison | undefined;
    /**
     * Returns any ColumnIds referenced in a Column Comparison
     * @param columnComparision Column Comparison to check
     */
    getColumnIdsFromColumnComparison(columnComparison: ColumnComparison): string[];
    private getDependentColumnIds;
    /**
     * Checks if the styled column has a range with a relative value
     * @param styledColumn Styled Column to Add
     */
    hasStyledColumnRelativeCellRange(styledColumn: StyledColumn): boolean;
    getApplicableBadge(badgeStyle: BadgeStyle, context: PredicateDefHandlerContext): BadgeStyleDefinition | null;
    getBadgePredicateDefsForColumn(columnId: string): import("../../types").AdaptablePredicateDef<string>[];
}
