import { TransferState } from '@angular/platform-browser';
import { ElementRef, NgZone, OnDestroy, EventEmitter, OnChanges, DoCheck, SimpleChanges } from '@angular/core';
import { UserDefinedElement } from 'devextreme/core/element';
import Store from 'devextreme/data/abstract_store';
import DataSource, { Options as DataSourceOptions } from 'devextreme/data/data_source';
import { Format } from 'devextreme/localization';
import { Font } from 'devextreme/viz/core/base_widget';
import DxSparkline from 'devextreme/viz/sparkline';
import { DxComponent, DxTemplateHost, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
import * as i0 from "@angular/core";
import * as i1 from "devextreme-angular/ui/nested";
import * as i2 from "devextreme-angular/core";
import * as i3 from "@angular/platform-browser";
/**
 * The Sparkline UI component is a compact chart that contains only one series. Owing to their size, sparklines occupy very little space and can be easily collected in a table or embedded straight in text.

 */
export declare class DxSparklineComponent extends DxComponent implements OnDestroy, OnChanges, DoCheck {
    private _watcherHelper;
    private _idh;
    instance: DxSparkline;
    /**
     * Specifies the data source field that provides arguments for a sparkline.
    
     */
    get argumentField(): string;
    set argumentField(value: string);
    /**
     * Sets a color for the bars indicating negative values. Available for a sparkline of the bar type only.
    
     */
    get barNegativeColor(): string;
    set barNegativeColor(value: string);
    /**
     * Sets a color for the bars indicating positive values. Available for a sparkline of the bar type only.
    
     */
    get barPositiveColor(): string;
    set barPositiveColor(value: string);
    /**
     * Binds the UI component to data.
    
     */
    get dataSource(): DataSource | DataSourceOptions | Store | null | string | Array<any>;
    set dataSource(value: DataSource | DataSourceOptions | Store | null | string | Array<any>);
    /**
     * Specifies whether the UI component responds to user interaction.
    
     */
    get disabled(): boolean;
    set disabled(value: boolean);
    /**
     * Specifies the global attributes to be attached to the UI component&apos;s container element.
    
     */
    get elementAttr(): any;
    set elementAttr(value: any);
    /**
     * Sets a color for the boundary of both the first and last points on a sparkline.
    
     */
    get firstLastColor(): string;
    set firstLastColor(value: string);
    /**
     * Specifies whether the sparkline should ignore null data points.
    
     */
    get ignoreEmptyPoints(): boolean;
    set ignoreEmptyPoints(value: boolean);
    /**
     * Sets a color for a line on a sparkline. Available for the sparklines of the line- and area-like types.
    
     */
    get lineColor(): string;
    set lineColor(value: string);
    /**
     * Specifies a width for a line on a sparkline. Available for the sparklines of the line- and area-like types.
    
     */
    get lineWidth(): number;
    set lineWidth(value: number);
    /**
     * Sets a color for the bars indicating the values that are less than the winloss threshold. Available for a sparkline of the winloss type only.
    
     */
    get lossColor(): string;
    set lossColor(value: string);
    /**
     * Generates space around the UI component.
    
     */
    get margin(): {
        bottom?: number;
        left?: number;
        right?: number;
        top?: number;
    };
    set margin(value: {
        bottom?: number;
        left?: number;
        right?: number;
        top?: number;
    });
    /**
     * Sets a color for the boundary of the maximum point on a sparkline.
    
     */
    get maxColor(): string;
    set maxColor(value: string);
    /**
     * Specifies the maximum value of the sparkline&apos;s value axis.
    
     */
    get maxValue(): number | undefined;
    set maxValue(value: number | undefined);
    /**
     * Sets a color for the boundary of the minimum point on a sparkline.
    
     */
    get minColor(): string;
    set minColor(value: string);
    /**
     * Specifies the minimum value of the sparkline value axis.
    
     */
    get minValue(): number | undefined;
    set minValue(value: number | undefined);
    /**
     * Notifies the UI component that it is embedded into an HTML page that uses a tag modifying the path.
    
     */
    get pathModified(): boolean;
    set pathModified(value: boolean);
    /**
     * Sets a color for points on a sparkline. Available for the sparklines of the line- and area-like types.
    
     */
    get pointColor(): string;
    set pointColor(value: string);
    /**
     * Specifies the diameter of sparkline points in pixels. Available for the sparklines of line- and area-like types.
    
     */
    get pointSize(): number;
    set pointSize(value: number);
    /**
     * Specifies a symbol to use as a point marker on a sparkline. Available for the sparklines of the line- and area-like types.
    
     */
    get pointSymbol(): string;
    set pointSymbol(value: string);
    /**
     * Switches the UI component to a right-to-left representation.
    
     */
    get rtlEnabled(): boolean;
    set rtlEnabled(value: boolean);
    /**
     * Specifies whether or not to indicate both the first and last values on a sparkline.
    
     */
    get showFirstLast(): boolean;
    set showFirstLast(value: boolean);
    /**
     * Specifies whether or not to indicate both the minimum and maximum values on a sparkline.
    
     */
    get showMinMax(): boolean;
    set showMinMax(value: boolean);
    /**
     * Specifies the UI component&apos;s size in pixels.
    
     */
    get size(): {
        height?: number | undefined;
        width?: number | undefined;
    };
    set size(value: {
        height?: number | undefined;
        width?: number | undefined;
    });
    /**
     * Sets the name of the theme the UI component uses.
    
     */
    get theme(): string;
    set theme(value: string);
    /**
     * Configures the tooltip.
    
     */
    get tooltip(): {
        arrowLength?: number;
        border?: {
            color?: string;
            dashStyle?: string;
            opacity?: number | undefined;
            visible?: boolean;
            width?: number;
        };
        color?: string;
        container?: string | UserDefinedElement | undefined;
        contentTemplate?: any | undefined;
        cornerRadius?: number;
        customizeTooltip?: Function | undefined;
        enabled?: boolean;
        font?: Font;
        format?: Format | string | undefined;
        interactive?: boolean;
        opacity?: number | undefined;
        paddingLeftRight?: number;
        paddingTopBottom?: number;
        shadow?: {
            blur?: number;
            color?: string;
            offsetX?: number;
            offsetY?: number;
            opacity?: number;
        };
        zIndex?: number | undefined;
    };
    set tooltip(value: {
        arrowLength?: number;
        border?: {
            color?: string;
            dashStyle?: string;
            opacity?: number | undefined;
            visible?: boolean;
            width?: number;
        };
        color?: string;
        container?: string | UserDefinedElement | undefined;
        contentTemplate?: any | undefined;
        cornerRadius?: number;
        customizeTooltip?: Function | undefined;
        enabled?: boolean;
        font?: Font;
        format?: Format | string | undefined;
        interactive?: boolean;
        opacity?: number | undefined;
        paddingLeftRight?: number;
        paddingTopBottom?: number;
        shadow?: {
            blur?: number;
            color?: string;
            offsetX?: number;
            offsetY?: number;
            opacity?: number;
        };
        zIndex?: number | undefined;
    });
    /**
     * Determines the type of a sparkline.
    
     */
    get type(): string;
    set type(value: string);
    /**
     * Specifies the data source field that provides values for a sparkline.
    
     */
    get valueField(): string;
    set valueField(value: string);
    /**
     * Sets a color for the bars indicating the values greater than a winloss threshold. Available for a sparkline of the winloss type only.
    
     */
    get winColor(): string;
    set winColor(value: string);
    /**
     * Specifies a value that serves as a threshold for the sparkline of the winloss type.
    
     */
    get winlossThreshold(): number;
    set winlossThreshold(value: number);
    /**
    
     * A function that is executed before the UI component is disposed of.
    
    
     */
    onDisposing: EventEmitter<any>;
    /**
    
     * A function that is executed when the UI component&apos;s rendering has finished.
    
    
     */
    onDrawn: EventEmitter<any>;
    /**
    
     * A function that is executed after the UI component is exported.
    
    
     */
    onExported: EventEmitter<any>;
    /**
    
     * A function that is executed before the UI component is exported.
    
    
     */
    onExporting: EventEmitter<any>;
    /**
    
     * A function that is executed before a file with exported UI component is saved to the user&apos;s local storage.
    
    
     */
    onFileSaving: EventEmitter<any>;
    /**
    
     * A function that is executed when an error or warning occurs.
    
    
     */
    onIncidentOccurred: EventEmitter<any>;
    /**
    
     * A function used in JavaScript frameworks to save the UI component instance.
    
    
     */
    onInitialized: EventEmitter<any>;
    /**
    
     * A function that is executed after a UI component property is changed.
    
    
     */
    onOptionChanged: EventEmitter<any>;
    /**
    
     * A function that is executed when a tooltip becomes hidden.
    
    
     */
    onTooltipHidden: EventEmitter<any>;
    /**
    
     * A function that is executed when a tooltip appears.
    
    
     */
    onTooltipShown: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    argumentFieldChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    barNegativeColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    barPositiveColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    dataSourceChange: EventEmitter<DataSource | DataSourceOptions | Store | null | string | Array<any>>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    disabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    elementAttrChange: EventEmitter<any>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    firstLastColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    ignoreEmptyPointsChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    lineColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    lineWidthChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    lossColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    marginChange: EventEmitter<{
        bottom?: number;
        left?: number;
        right?: number;
        top?: number;
    }>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    maxColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    maxValueChange: EventEmitter<number | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    minColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    minValueChange: EventEmitter<number | undefined>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    pathModifiedChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    pointColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    pointSizeChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    pointSymbolChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    rtlEnabledChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showFirstLastChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showMinMaxChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    sizeChange: EventEmitter<{
        height?: number | undefined;
        width?: number | undefined;
    }>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    themeChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    tooltipChange: EventEmitter<{
        arrowLength?: number;
        border?: {
            color?: string;
            dashStyle?: string;
            opacity?: number | undefined;
            visible?: boolean;
            width?: number;
        };
        color?: string;
        container?: string | UserDefinedElement | undefined;
        contentTemplate?: any | undefined;
        cornerRadius?: number;
        customizeTooltip?: Function | undefined;
        enabled?: boolean;
        font?: Font;
        format?: Format | string | undefined;
        interactive?: boolean;
        opacity?: number | undefined;
        paddingLeftRight?: number;
        paddingTopBottom?: number;
        shadow?: {
            blur?: number;
            color?: string;
            offsetX?: number;
            offsetY?: number;
            opacity?: number;
        };
        zIndex?: number | undefined;
    }>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    typeChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    valueFieldChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    winColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    winlossThresholdChange: EventEmitter<number>;
    constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, _idh: IterableDifferHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any);
    protected _createInstance(element: any, options: any): DxSparkline;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    setupChanges(prop: string, changes: SimpleChanges): void;
    ngDoCheck(): void;
    _setOption(name: string, value: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxSparklineComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxSparklineComponent, "dx-sparkline", never, { "argumentField": "argumentField"; "barNegativeColor": "barNegativeColor"; "barPositiveColor": "barPositiveColor"; "dataSource": "dataSource"; "disabled": "disabled"; "elementAttr": "elementAttr"; "firstLastColor": "firstLastColor"; "ignoreEmptyPoints": "ignoreEmptyPoints"; "lineColor": "lineColor"; "lineWidth": "lineWidth"; "lossColor": "lossColor"; "margin": "margin"; "maxColor": "maxColor"; "maxValue": "maxValue"; "minColor": "minColor"; "minValue": "minValue"; "pathModified": "pathModified"; "pointColor": "pointColor"; "pointSize": "pointSize"; "pointSymbol": "pointSymbol"; "rtlEnabled": "rtlEnabled"; "showFirstLast": "showFirstLast"; "showMinMax": "showMinMax"; "size": "size"; "theme": "theme"; "tooltip": "tooltip"; "type": "type"; "valueField": "valueField"; "winColor": "winColor"; "winlossThreshold": "winlossThreshold"; }, { "onDisposing": "onDisposing"; "onDrawn": "onDrawn"; "onExported": "onExported"; "onExporting": "onExporting"; "onFileSaving": "onFileSaving"; "onIncidentOccurred": "onIncidentOccurred"; "onInitialized": "onInitialized"; "onOptionChanged": "onOptionChanged"; "onTooltipHidden": "onTooltipHidden"; "onTooltipShown": "onTooltipShown"; "argumentFieldChange": "argumentFieldChange"; "barNegativeColorChange": "barNegativeColorChange"; "barPositiveColorChange": "barPositiveColorChange"; "dataSourceChange": "dataSourceChange"; "disabledChange": "disabledChange"; "elementAttrChange": "elementAttrChange"; "firstLastColorChange": "firstLastColorChange"; "ignoreEmptyPointsChange": "ignoreEmptyPointsChange"; "lineColorChange": "lineColorChange"; "lineWidthChange": "lineWidthChange"; "lossColorChange": "lossColorChange"; "marginChange": "marginChange"; "maxColorChange": "maxColorChange"; "maxValueChange": "maxValueChange"; "minColorChange": "minColorChange"; "minValueChange": "minValueChange"; "pathModifiedChange": "pathModifiedChange"; "pointColorChange": "pointColorChange"; "pointSizeChange": "pointSizeChange"; "pointSymbolChange": "pointSymbolChange"; "rtlEnabledChange": "rtlEnabledChange"; "showFirstLastChange": "showFirstLastChange"; "showMinMaxChange": "showMinMaxChange"; "sizeChange": "sizeChange"; "themeChange": "themeChange"; "tooltipChange": "tooltipChange"; "typeChange": "typeChange"; "valueFieldChange": "valueFieldChange"; "winColorChange": "winColorChange"; "winlossThresholdChange": "winlossThresholdChange"; }, never, never>;
}
export declare class DxSparklineModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxSparklineModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxSparklineModule, [typeof DxSparklineComponent], [typeof i1.DxoMarginModule, typeof i1.DxoSizeModule, typeof i1.DxoTooltipModule, typeof i1.DxoBorderModule, typeof i1.DxoFontModule, typeof i1.DxoFormatModule, typeof i1.DxoShadowModule, typeof i2.DxIntegrationModule, typeof i2.DxTemplateModule, typeof i3.BrowserTransferStateModule], [typeof DxSparklineComponent, typeof i1.DxoMarginModule, typeof i1.DxoSizeModule, typeof i1.DxoTooltipModule, typeof i1.DxoBorderModule, typeof i1.DxoFontModule, typeof i1.DxoFormatModule, typeof i1.DxoShadowModule, typeof i2.DxTemplateModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<DxSparklineModule>;
}
