import * as _angular_core from '@angular/core';
import { ElementRef } from '@angular/core';
import { HasElementRef } from '@fundamental-ngx/cdk/utils';
import { FdLanguageKeyIdentifier } from '@fundamental-ngx/i18n';

type ObjectStatus = 'negative' | 'critical' | 'positive' | 'informative';
declare class ObjectNumberComponent implements HasElementRef {
    /**
     * Numerical value of the object number.
     */
    readonly number: _angular_core.InputSignal<number | undefined>;
    /**
     * Number of decimal places to show
     */
    readonly decimal: _angular_core.InputSignal<number>;
    /** Sets unit of measure displayed. */
    readonly unit: _angular_core.InputSignal<string | undefined>;
    /** Set the value to true to display the object number in bold text */
    readonly emphasized: _angular_core.InputSignal<boolean>;
    /** Set the value to true to display the object number in large text */
    readonly large: _angular_core.InputSignal<boolean>;
    /** Sets status/semantic color  'negative' / 'critical' / 'positive' / 'informative' */
    readonly status: _angular_core.InputSignal<ObjectStatus | undefined>;
    /** An optional status message for the object number */
    readonly statusMessage: _angular_core.InputSignal<string | undefined>;
    /** Id of the element that labels object number. */
    readonly ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
    /** Aria label for the object number. */
    readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
    /** Whether the object number is interactive */
    readonly interactive: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** Whether the object number is inverted. */
    readonly inverted: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /** @hidden */
    readonly elementRef: ElementRef<any>;
    /** @hidden Computed number pipe configuration */
    protected readonly _numberPipeConfig: _angular_core.Signal<string>;
    /** @hidden Status key to translate for screen readers */
    protected readonly statusKey: _angular_core.Signal<FdLanguageKeyIdentifier | null>;
    /** @hidden Computed CSS classes */
    protected readonly _cssClass: _angular_core.Signal<string>;
    /**
     * Type guard to check if the status is a valid ObjectStatus
     * @hidden
     */
    private isValidObjectStatus;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectNumberComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectNumberComponent, "fd-object-number", never, { "number": { "alias": "number"; "required": false; "isSignal": true; }; "decimal": { "alias": "decimal"; "required": false; "isSignal": true; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "emphasized": { "alias": "emphasized"; "required": false; "isSignal": true; }; "large": { "alias": "large"; "required": false; "isSignal": true; }; "status": { "alias": "status"; "required": false; "isSignal": true; }; "statusMessage": { "alias": "statusMessage"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "inverted": { "alias": "inverted"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

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

export { ObjectNumberComponent, ObjectNumberModule };
