import { TransferState } from '@angular/platform-browser';
import { ElementRef, NgZone, OnDestroy, EventEmitter } from '@angular/core';
import { UserDefinedElement } from 'devextreme/core/element';
import { Format } from 'devextreme/localization';
import { Font } from 'devextreme/viz/core/base_widget';
import DxBullet from 'devextreme/viz/bullet';
import { DxComponent, DxTemplateHost, NestedOptionHost, 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 Bullet UI component is useful when you need to compare a single measure to a target value. The UI component comprises a horizontal bar indicating the measure and a vertical line indicating the target value.

 */
export declare class DxBulletComponent extends DxComponent implements OnDestroy {
    instance: DxBullet;
    /**
     * Specifies a color for the bullet bar.
    
     */
    get color(): string;
    set color(value: string);
    /**
     * 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);
    /**
     * Specifies an end value for the invisible scale.
    
     */
    get endScaleValue(): number | undefined;
    set endScaleValue(value: number | undefined);
    /**
     * 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;
    });
    /**
     * 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);
    /**
     * Switches the UI component to a right-to-left representation.
    
     */
    get rtlEnabled(): boolean;
    set rtlEnabled(value: boolean);
    /**
     * Specifies whether or not to show the target line.
    
     */
    get showTarget(): boolean;
    set showTarget(value: boolean);
    /**
     * Specifies whether or not to show the line indicating zero on the invisible scale.
    
     */
    get showZeroLevel(): boolean;
    set showZeroLevel(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;
    });
    /**
     * Specifies a start value for the invisible scale.
    
     */
    get startScaleValue(): number;
    set startScaleValue(value: number);
    /**
     * Specifies the value indicated by the target line.
    
     */
    get target(): number;
    set target(value: number);
    /**
     * Specifies a color for both the target and zero level lines.
    
     */
    get targetColor(): string;
    set targetColor(value: string);
    /**
     * Specifies the width of the target line.
    
     */
    get targetWidth(): number;
    set targetWidth(value: number);
    /**
     * 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;
    });
    /**
     * Specifies the primary value indicated by the bullet bar.
    
     */
    get value(): number;
    set value(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.
    
     */
    colorChange: EventEmitter<string>;
    /**
    
     * 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.
    
     */
    endScaleValueChange: EventEmitter<number | undefined>;
    /**
    
     * 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.
    
     */
    pathModifiedChange: EventEmitter<boolean>;
    /**
    
     * 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.
    
     */
    showTargetChange: EventEmitter<boolean>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    showZeroLevelChange: 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.
    
     */
    startScaleValueChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    targetChange: EventEmitter<number>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    targetColorChange: EventEmitter<string>;
    /**
    
     * This member supports the internal infrastructure and is not intended to be used directly from your code.
    
     */
    targetWidthChange: EventEmitter<number>;
    /**
    
     * 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.
    
     */
    valueChange: EventEmitter<number>;
    constructor(elementRef: ElementRef, ngZone: NgZone, templateHost: DxTemplateHost, _watcherHelper: WatcherHelper, optionHost: NestedOptionHost, transferState: TransferState, platformId: any);
    protected _createInstance(element: any, options: any): DxBullet;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxBulletComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxBulletComponent, "dx-bullet", never, { "color": "color"; "disabled": "disabled"; "elementAttr": "elementAttr"; "endScaleValue": "endScaleValue"; "margin": "margin"; "pathModified": "pathModified"; "rtlEnabled": "rtlEnabled"; "showTarget": "showTarget"; "showZeroLevel": "showZeroLevel"; "size": "size"; "startScaleValue": "startScaleValue"; "target": "target"; "targetColor": "targetColor"; "targetWidth": "targetWidth"; "theme": "theme"; "tooltip": "tooltip"; "value": "value"; }, { "onDisposing": "onDisposing"; "onDrawn": "onDrawn"; "onExported": "onExported"; "onExporting": "onExporting"; "onFileSaving": "onFileSaving"; "onIncidentOccurred": "onIncidentOccurred"; "onInitialized": "onInitialized"; "onOptionChanged": "onOptionChanged"; "onTooltipHidden": "onTooltipHidden"; "onTooltipShown": "onTooltipShown"; "colorChange": "colorChange"; "disabledChange": "disabledChange"; "elementAttrChange": "elementAttrChange"; "endScaleValueChange": "endScaleValueChange"; "marginChange": "marginChange"; "pathModifiedChange": "pathModifiedChange"; "rtlEnabledChange": "rtlEnabledChange"; "showTargetChange": "showTargetChange"; "showZeroLevelChange": "showZeroLevelChange"; "sizeChange": "sizeChange"; "startScaleValueChange": "startScaleValueChange"; "targetChange": "targetChange"; "targetColorChange": "targetColorChange"; "targetWidthChange": "targetWidthChange"; "themeChange": "themeChange"; "tooltipChange": "tooltipChange"; "valueChange": "valueChange"; }, never, never>;
}
export declare class DxBulletModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<DxBulletModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<DxBulletModule, [typeof DxBulletComponent], [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 DxBulletComponent, 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<DxBulletModule>;
}
