import { BaseState } from './BaseState';
import { RowScope } from './Common/RowScope';
import { SuspendableObject } from './Common/SuspendableObject';
import { BadgeStyle } from './StyledColumns/BadgeStyle';
import { BulletChartStyle } from './StyledColumns/BulletChartStyle';
import { GradientStyle } from './StyledColumns/GradientStyle';
import { IconStyle } from './StyledColumns/IconStyle';
import { PercentBarStyle } from './StyledColumns/PercentBarStyle';
import { RangeBarStyle } from './StyledColumns/RangeBarStyle';
import { RatingStyle } from './StyledColumns/RatingStyle';
import { SparklineStyle } from './StyledColumns/SparklineStyle';
/**
 * Adaptable State Section for Styled Column Module
 */
export interface StyledColumnState extends BaseState {
    /**
     * Collection of Styled Columns
     */
    StyledColumns?: StyledColumn[];
}
/**
 * Core Styled Column object
 */
export interface StyledColumn extends SuspendableObject {
    /**
     * Unique Name of Styled Column - used to identify it in Adaptable UI and APIs
     */
    Name: string;
    /**
     * Id of Column being styled
     */
    ColumnId: string;
    /**
     * Which rows will render the Styled Column (data / group / summary total)
     */
    RowScope?: RowScope;
    /**
     * Styles a numeric column with a Gradient
     */
    GradientStyle?: GradientStyle;
    /**
     * Styles a numeric column so each cell displays a 'Bar'
     */
    PercentBarStyle?: PercentBarStyle;
    /**
     * Displays a Sparkline Chart in an array column
     */
    SparklineStyle?: SparklineStyle;
    /**
     * Displays cell values in Column as a Badge
     */
    BadgeStyle?: BadgeStyle;
    /**
     * Styles a numeric column with single-row Bullet Chart, showing value as bar, target as marker and optional bands behind bar
     */
    BulletChartStyle?: BulletChartStyle;
    /**
     * Styles a numeric column as a Rating - row of icons filled according to cell value
     */
    RatingStyle?: RatingStyle;
    /**
     * Styles a numeric column as Range Bar - track showing where cell value sits between Min and Max
     */
    RangeBarStyle?: RangeBarStyle;
    /**
     * Styles a column where each cell displays an icon looked up from a list of key → icon mappings
     */
    IconStyle?: IconStyle;
}
