import * as RealChart from 'realchart';
import { WidgetSeries, WordCloudSeriesOptions, PercentSize, IPercentSize, DataPoint } from 'realchart';

/**
 * Word cloud 시리즈 모델.<br/>
 * {@page op.SeriesOptions#type}은 {@page config.series.wordcloud 'wordcloud'}이고,
 * {@page options 설정} 모델은 {@page op.WordCloudSeriesOptions}이다.
 *
 * @modules wordcloud
 */
declare class WordCloudSeries extends WidgetSeries<WordCloudSeriesOptions> {
    static readonly type = "wordcloud";
    static readonly MinFontSize: PercentSize;
    static readonly MaxMinFontSize: PercentSize;
    static readonly MaxFontSize: PercentSize;
    static readonly MinMaxFontSize: PercentSize;
    static defaults: WordCloudSeriesOptions;
    private _text;
    private _minFontSizeDim;
    private _maxFontSizeDim;
    private _excludes;
    /**
     *
     * @param minmax
     * @param domain
     * @param value
     * @returns
     */
    $_denormalizeFontSize(minmax: 'min' | 'max', domain: number, value: number): any;
    calcFontRatio(minmax: 'min' | 'max', size: IPercentSize, domain: any, def: any): number;
    getMinFontSize(domain: number, def: number): number;
    getMaxFontSize(domain: number, def: number): number;
    getLogFunc(): (v: number) => number;
    _colorByPoint(): boolean;
    protected _createPoint(source: any): DataPoint;
    protected _doApply(options: WordCloudSeriesOptions): void;
    protected _doLoadPoints(src: any): void;
    isPointLabelVisible(p: DataPoint): boolean;
    _prepareRender(): void;
}

declare function registerSeries(chart: typeof RealChart): void;

export { WordCloudSeries, registerSeries as default };
