import { OnChanges, OnInit, OnDestroy } from '@angular/core';
import { TdChartOptionsService } from '../chart-options.service';
import { ITdSeriesTooltip } from './series.interface';
import { ITdAnimation } from '../base.types';
import * as i0 from "@angular/core";
export interface ITdSeries extends ITdAnimation {
    id?: string;
    name?: string;
    color?: string;
    type?: string;
    tooltip?: ITdSeriesTooltip;
}
export declare abstract class TdSeriesDirective implements ITdSeries, OnChanges, OnInit, OnDestroy {
    protected optionsService: TdChartOptionsService;
    private _type;
    get type(): string;
    _state: any;
    _options: any;
    config?: any;
    id?: string;
    name?: string;
    color?: string;
    data?: any[];
    animation?: boolean;
    animationThreshold?: number;
    animationDuration?: number | Function;
    animationEasing?: string;
    animationDelay?: number | Function;
    animationDurationUpdate?: number | Function;
    animationEasingUpdate?: string;
    animationDelayUpdate?: number | Function;
    tooltip?: ITdSeriesTooltip;
    constructor(type: string, optionsService: TdChartOptionsService);
    ngOnInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    setStateOption(option: string, value: any): void;
    removeStateOption(option: string): void;
    abstract getConfig(): any;
    private _setOptions;
    private _removeOption;
    static ɵfac: i0.ɵɵFactoryDeclaration<TdSeriesDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TdSeriesDirective, never, never, { "config": { "alias": "config"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "color": { "alias": "color"; "required": false; }; "data": { "alias": "data"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; "animationThreshold": { "alias": "animationThreshold"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; "animationEasing": { "alias": "animationEasing"; "required": false; }; "animationDelay": { "alias": "animationDelay"; "required": false; }; "animationDurationUpdate": { "alias": "animationDurationUpdate"; "required": false; }; "animationEasingUpdate": { "alias": "animationEasingUpdate"; "required": false; }; "animationDelayUpdate": { "alias": "animationDelayUpdate"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, never, true, never>;
}
