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

/** Display type for the info label. */
type LabelType = 'numeric' | 'icon';
declare const labelColorRange: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
/** Valid accent color values for info labels (1-10). */
type InfoLabelColor = (typeof labelColorRange)[number];
/** Accent color input accepting both number and string representations. */
type InfoLabelColorInput = InfoLabelColor | `${InfoLabelColor}`;
declare class InfoLabelComponent implements HasElementRef {
    /**
     * The type of the info label.
     * - `'numeric'`: Displays the label as a number with special numeric styling
     * - `'icon'`: Displays an icon alongside the label text
     * - `undefined`: Default text-only label (omit this property for default)
     * @default undefined
     */
    readonly type: _angular_core.InputSignal<LabelType | undefined>;
    /**
     * The icon name to display when `type` is set to `'icon'`.
     * @default null
     */
    readonly glyph: _angular_core.InputSignal<string | null | undefined>;
    /**
     * The icon font family to use for the icon.
     * @default 'SAP-icons'
     */
    readonly font: _angular_core.InputSignal<IconFont>;
    /**
     * Accent color of the info label, ranging from 1 to 10.
     * Invalid values default to 7 with a console warning in development mode.
     * @default 7
     */
    readonly color: _angular_core.InputSignal<InfoLabelColorInput | null | undefined>;
    /**
     * The text content displayed in the info label.
     */
    readonly label: _angular_core.InputSignal<string | undefined>;
    /**
     * Tooltip text displayed on hover.
     * Provides additional context about the label.
     */
    readonly title: _angular_core.InputSignal<string | undefined>;
    /**
     * ARIA label for accessibility.
     * Overrides the visible label for screen readers when provided.
     */
    readonly ariaLabel: _angular_core.InputSignal<string | null | undefined>;
    /**
     * ARIA labelledby for accessibility.
     * Used when the label is provided by another element.
     */
    readonly ariaLabelledBy: _angular_core.InputSignal<string | null | undefined>;
    /**
     * Screen reader only text for additional context.
     * Defaults to translated "Info Label" if not provided.
     */
    readonly srText: _angular_core.InputSignal<string | undefined>;
    /** @hidden */
    elementRef: ElementRef<HTMLElement>;
    /** @hidden Validated color with fallback to default */
    protected readonly validatedColor: _angular_core.Signal<number>;
    /** @hidden */
    protected readonly cssClass: _angular_core.Signal<string>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InfoLabelComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<InfoLabelComponent, "fd-info-label", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "font": { "alias": "font"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "srText": { "alias": "srText"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

/**
 * @deprecated
 * Use direct imports of components and directives.
 */
declare class InfoLabelModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<InfoLabelModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<InfoLabelModule, never, [typeof InfoLabelComponent], [typeof InfoLabelComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<InfoLabelModule>;
}

export { InfoLabelComponent, InfoLabelModule };
export type { InfoLabelColor, InfoLabelColorInput, LabelType };
