import SeriesModel from '../../model/Series.js';
import { SeriesOption, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, OptionDataValue, SeriesLargeOptionMixin, SeriesStackOptionMixin, SymbolOptionMixin, StatesOptionMixin, OptionDataItemObject, SeriesEncodeOptionMixin, CallbackDataParams, DefaultEmphasisFocus } from '../../util/types.js';
import { TextState } from 'tvrender/lib/graphic/Text.js';
import GlobalModel from '../../model/Global.js';
import SeriesData from '../../data/SeriesData.js';
import { BrushCommonSelectorsForSeries } from '../../component/brush/selector.js';
export declare type ILocation = 'abovebar' | 'absolute' | 'belowbar' | 'bottom' | 'top';
export declare type ISize = 'auto' | 'huge' | 'large' | 'normal' | 'small' | 'tiny';
interface CharPlotStateOption {
    size?: ISize;
    location?: ILocation;
    showValue?: boolean | number;
    char?: string;
    text?: string;
}
interface CharPlotStatesOptionMixin {
    emphasis?: {
        focus?: DefaultEmphasisFocus;
        scale?: boolean | number;
        emphasisState?: TextState;
    };
}
export interface ITextType {
    textColor: string;
    x: number;
    y: number;
}
export interface CharPlotDataItemOption extends SymbolOptionMixin, CharPlotStateOption, StatesOptionMixin<CharPlotStateOption, CharPlotStatesOptionMixin>, OptionDataItemObject<OptionDataValue> {
    id: string;
    itemStyle?: {
        color?: string;
        textcolor?: string;
    };
}
export interface CharPlotSeriesOption extends SeriesOption<CharPlotStateOption, CharPlotStatesOptionMixin>, CharPlotStateOption, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SeriesLargeOptionMixin, SeriesStackOptionMixin, SymbolOptionMixin<CallbackDataParams>, SeriesEncodeOptionMixin {
    type?: 'charPlot';
    coordinateSystem?: string;
    cursor?: string;
    clip?: boolean;
    data?: CharPlotDataItemOption[];
}
declare class CharPlotSeriesModel extends SeriesModel<CharPlotSeriesOption> {
    static readonly type = "series.charPlot";
    type: string;
    static readonly dependencies: string[];
    ignoreStyleOnData: boolean;
    getInitialData(option: CharPlotSeriesOption, ecModel: GlobalModel): SeriesData;
    getProgressive(): number | false;
    getProgressiveThreshold(): number;
    brushSelector(dataIndex: number, data: SeriesData, selectors: BrushCommonSelectorsForSeries): boolean;
    getZLevelKey(): string;
    static defaultOption: CharPlotSeriesOption;
}
export default CharPlotSeriesModel;
