import * as i0 from '@angular/core';
import { OnInit, OnChanges, ElementRef } from '@angular/core';
import { CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';

type ObjectStatus = 'negative' | 'critical' | 'positive' | 'informative';
declare class ObjectNumberComponent implements OnInit, OnChanges, CssClassBuilder {
    readonly elementRef: ElementRef;
    /**
     * Numerical value of the object number.
     */
    number: number;
    /**
     * Number of decimal places to show
     */
    decimal: number;
    /** Sets unit of measure displayed. */
    unit: string;
    /** Set the value to true to display the object number in bold text */
    emphasized: boolean;
    /** Set the value to true to display the object number in large text */
    large: boolean;
    /** Sets status/semantic color  'negative' / 'critical' / 'positive' / 'informative' */
    status: ObjectStatus;
    /** User's custom classes */
    class: string;
    /** Id of the element that labels object number. */
    ariaLabelledBy: Nullable<string>;
    /** Aria label for the object number. */
    ariaLabel: Nullable<string>;
    /** @hidden */
    _numberPipeConfig: string;
    /** @hidden */
    constructor(elementRef: ElementRef);
    /** @hidden
     * CssClassBuilder interface implementation
     * function must return single string
     * function is responsible for order which css classes are applied
     */
    buildComponentCssClass(): string[];
    /** @hidden */
    ngOnChanges(): void;
    /** @hidden */
    ngOnInit(): void;
    /** @hidden */
    private _onChanges;
    /** @hidden */
    private _buildNumberPipeConfig;
    static ɵfac: i0.ɵɵFactoryDeclaration<ObjectNumberComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ObjectNumberComponent, "fd-object-number", never, { "number": { "alias": "number"; "required": false; }; "decimal": { "alias": "decimal"; "required": false; }; "unit": { "alias": "unit"; "required": false; }; "emphasized": { "alias": "emphasized"; "required": false; }; "large": { "alias": "large"; "required": false; }; "status": { "alias": "status"; "required": false; }; "class": { "alias": "class"; "required": false; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * @deprecated
 * Use direct import of `ObjectNumberComponent`
 */
declare class ObjectNumberModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<ObjectNumberModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<ObjectNumberModule, never, [typeof ObjectNumberComponent], [typeof ObjectNumberComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<ObjectNumberModule>;
}

export { ObjectNumberComponent, ObjectNumberModule };
