import { OnDestroy, TemplateRef, Injector, ComponentFactoryResolver, AfterContentInit, Renderer2, NgZone, ViewContainerRef } from '@angular/core';
import { Visibility } from "igniteui-angular-core";
import { XamSparkline } from './XamSparkline';
import { SparklineVisualData } from './SparklineVisualData';
import { TrendLineType } from "igniteui-angular-core";
import { SparklineDisplayType } from './SparklineDisplayType';
import { UnknownValuePlotting } from "igniteui-angular-core";
export declare const IgxSparklineComponent_PROVIDERS: any[];
/**
 * Represents a sparkline chart.
*/
export declare class IgxSparklineComponent implements AfterContentInit, OnDestroy {
    private _renderer;
    private _elRef;
    private _ngZone;
    private _componentFactoryResolver;
    private _injector;
    _dynamicContent: ViewContainerRef;
    private _height;
    private _width;
    height: string;
    width: string;
    private _container;
    private _dataSource;
    dataSource: any;
    private _root;
    constructor(_renderer: Renderer2, _elRef: ViewContainerRef, _ngZone: NgZone, _componentFactoryResolver: ComponentFactoryResolver, _injector: Injector);
    ngOnDestroy(): void;
    private _wrapper;
    protected createImplementation(): XamSparkline;
    private _sparkline;
    ngAfterContentInit(): void;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
    private _tooltipTemplate;
    private _tooltipContent;
    tooltipTemplate: TemplateRef<any>;
    private _ensureTooltipCreated;
    private createWrapper;
    private _defaultTooltips;
    private _ensureDefaultTooltip;
    private _onDefaultTooltipsReady;
    private createTooltip;
    protected _implementation: any;
    /**
     * @hidden
     */
    readonly i: XamSparkline; /**
                                 * @hidden
                                 */
    static _createFromInternal(internal: any): IgxSparklineComponent;
    /**
 * Gets or sets the sparkline brush.
*/
    brush: string;
    /**
     * Gets or sets the negative brush of the sparkline.
    */
    negativeBrush: string;
    /**
     * Gets or sets the marker brush of the sparkline.
    */
    markerBrush: string;
    /**
     * Gets or sets the negative marker brush of the sparkline.
    */
    negativeMarkerBrush: string;
    /**
     * Gets or sets the first marker brush of the sparkline.
    */
    firstMarkerBrush: string;
    /**
     * Gets or sets the last marker brush of the sparkline.
    */
    lastMarkerBrush: string;
    /**
     * Gets or sets the high marker brush of the sparkline.
    */
    highMarkerBrush: string;
    /**
     * Gets or sets the low marker brush of the sparkline.
    */
    lowMarkerBrush: string;
    /**
     * Gets or sets the trendline brush of the sparkline.
    */
    trendLineBrush: string;
    /**
     * Gets or sets the horizontal axis line brush of the sparkline.
    */
    horizontalAxisBrush: string;
    /**
     * Gets or sets the vertical axis line brush of the sparkline.
    */
    verticalAxisBrush: string;
    /**
     * Gets or sets the normal range brush of the sparkline.
    */
    normalRangeFill: string;
    /**
     * Gets or sets the display state of the horizontal axis.
    */
    horizontalAxisVisibility: Visibility;
    /**
     * Gets or sets the display state of the vertical axis.
    */
    verticalAxisVisibility: Visibility;
    /**
     * Gets or sets the marker visibility of the sparkline.
    */
    markerVisibility: Visibility;
    /**
     * Gets or sets the negative marker visibility of the sparkline.
    */
    negativeMarkerVisibility: Visibility;
    /**
     * Gets or sets the first marker visibility of the sparkline.
    */
    firstMarkerVisibility: Visibility;
    /**
     * Gets or sets the last marker visibility of the sparkline.
    */
    lastMarkerVisibility: Visibility;
    /**
     * Gets or sets the low marker visibility of the sparkline.
    */
    lowMarkerVisibility: Visibility;
    /**
     * Gets or sets the high marker visibility of the sparkline.
    */
    highMarkerVisibility: Visibility;
    /**
     * Gets or sets the normal range visibility of the sparkline.
    */
    normalRangeVisibility: Visibility;
    /**
     * Gets or sets the position of the normal range on the sparkline.
    */
    displayNormalRangeInFront: boolean;
    /**
     * Gets or sets the marker size of the sparkline.
    */
    markerSize: number;
    /**
     * Gets or sets the first marker size of the sparkline.
    */
    firstMarkerSize: number;
    /**
     * Gets or sets the last marker size of the sparkline.
    */
    lastMarkerSize: number;
    /**
     * Gets or sets the high marker size of the sparkline.
    */
    highMarkerSize: number;
    /**
     * Gets or sets the low marker size of the sparkline.
    */
    lowMarkerSize: number;
    /**
     * Gets or sets the negative marker size of the sparkline.
    */
    negativeMarkerSize: number;
    /**
     * Gets or sets the line thickness of the sparkline.
    */
    lineThickness: number;
    /**
     * Gets or sets the minimum value of the y axis.
    */
    minimum: number;
    /**
     * Gets or sets the maximum value of the y axis.
    */
    maximum: number;
    /**
     * Gets or sets the string path to the value column.
    */
    valueMemberPath: string;
    /**
     * String identifier of a column or property name to get labels from on each item in the data source.  These labels will be retrieved from the first and last item, and displayed by the horizontal axis.
    */
    labelMemberPath: string;
    /**
     * Gets or sets the type of trendline used by the sparkline.
    */
    trendLineType: TrendLineType;
    /**
     * Gets or sets the trendline period used by the sparkline.
    */
    trendLinePeriod: number;
    /**
     * Gets or sets the thickness of the sparkline's trendline.
    */
    trendLineThickness: number;
    /**
     * Gets or sets the minimum value of the normal range.
    */
    normalRangeMinimum: number;
    /**
     * Gets or sets the maximum value of the normal range.
    */
    normalRangeMaximum: number;
    /**
     * Gets or sets the display type of the sparkline.
    */
    displayType: SparklineDisplayType;
    /**
     * Gets or sets the way null values are interpreted.
    */
    unknownValuePlotting: UnknownValuePlotting;
    /**
     * The value or content to display on the vertical axis.
     * This can be set to a formatted string, such as "{0:n}", or it can be set to a DataTemplate.
    */
    verticalAxisLabel: any;
    /**
     * The value or content to display on the horizontal axis.
     * This can be set to a formatted string, such as "{0}", or it can be set to a DataTemplate.
    */
    horizontalAxisLabel: any;
    /**
     * Sets or gets a function which takes an object that produces a formatted label for displaying in the chart.
    */
    formatLabel: (arg1: any) => string;
    /**
     * Gets or sets the scaling value used to affect the pixel density of the control.
     * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
     * to appear blurry.
    */
    pixelScalingRatio: number;
    /**
     * Gets the actual scaling value used by the component to affect the pixel density of the control.
     * A higher scaling ratio will produce crisper visuals at the expense of memory.  Lower values will cause the control
     * to appear blurry.
    */
    actualPixelScalingRatio: number;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected readonly hasUserValues: Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    /**
 * Provides a container to the sparkline control.

* @param container  * The container.
*/
    provideContainer(container: any): void;
    /**
     * Notify that the control has resized.
    
    */
    notifyResized(): void;
    notifySetItem(source_: any, index: number, oldItem: any, newItem: any): void;
    /**
     * Used to manually notify the IgxSparklineComponent that the data source has reset or cleared its items.  Invoking this method is only necessary if that datasource is not observable.
    
    * @param source_  * The data source which was cleared or reset.
    */
    notifyClearItems(source_: any): void;
    notifyInsertItem(source_: any, index: number, newItem: any): void;
    notifyRemoveItem(source_: any, index: number, oldItem: any): void;
    /**
     * Returns the sparkline visuals expressed as a SparklineVisualData object.
    
    */
    exportVisualData(): SparklineVisualData;
    /**
     * Returns visuals as a serialized string.
    
    */
    exportSerializedVisualData(): string;
}
