import { ELayoutTYpe } from '@qn-pandora/pandora-component';
import { ILevel, IRule } from '../../../../../constants/metric-panel-style';
import { ChartType } from '../../../../../constants';
import ChartStyleService, { IChartStyleOption, IChartStyleInitOption } from '../base';
export interface IData {
    idField?: string;
    titleField?: string;
    iconField?: string;
    colorField?: string;
    shapeField?: string;
    typeField?: string;
}
export interface ITopologyChartStyle extends IChartStyleOption {
    levels: ILevel[];
    nodeRules: IRule[];
    edgeRules: IRule[];
    nodeCount: number;
    layout: ELayoutTYpe;
    showLabel: boolean;
    from: IData;
    to: IData;
}
export default abstract class TimeLineStyleService extends ChartStyleService<ITopologyChartStyle> {
    static getChartInitStyle(option: IChartStyleInitOption): IChartStyleInitOption;
    chartType: ChartType;
    levels: ILevel[];
    nodeRules: IRule[];
    edgeRules: IRule[];
    nodeCount: number;
    layout: ELayoutTYpe;
    showLabel: boolean;
    from: IData;
    to: IData;
    get contextOption(): {
        buckets: never[];
        metrics: never[];
    };
    getOptions(): {
        chartType: ChartType;
        levels: ILevel[];
        nodeRules: IRule[];
        edgeRules: IRule[];
        nodeCount: number;
        nodeLayout: ELayoutTYpe;
        showLabel: boolean;
        layout: ELayoutTYpe;
        from: IData;
        to: IData;
    };
    setLevels(levels: ILevel[]): void;
    setNodeRules(nodeRules: IRule[]): void;
    setEdgeRules(edgeRules: IRule[]): void;
    setLayout(layout: ELayoutTYpe): void;
    setShowLabel(showLabel: boolean): void;
    setNodeCount(nodeCount: number): void;
    setTo(to: IData): void;
    setFrom(from: IData): void;
    constructor(chart: ITopologyChartStyle);
}
