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

type GenericTagType = 'error' | 'success' | 'warning' | 'information';
declare class GenericTagComponent implements HasElementRef {
    /**
     * The type of the Generic Tag.
     * Can be one of the following: 'error' | 'success' | 'warning' | 'information'.
     * For default Generic Tag omit this property.
     */
    readonly type: _angular_core.InputSignal<GenericTagType | null | undefined>;
    /**
     * Required input
     * The KPI Name of the Generic tag. Standard text.
     * Always use a meaningful title. Keep it simple and try to use no more than 3 words.
     */
    readonly name: _angular_core.InputSignal<string>;
    /**
     * The KPI Value of the Generic tag.
     * The value represents the numeric (key) attribute and its unit.
     */
    readonly value: _angular_core.InputSignal<string | null | undefined>;
    /**
     *  Aria defines role description for the Generic Tag
     */
    readonly ariaRoleDescription: _angular_core.InputSignal<string>;
    /** @hidden */
    readonly elementRef: ElementRef<any>;
    /**
     * Computed icon glyph based on type.
     * @hidden
     */
    protected readonly iconGlyph: _angular_core.Signal<string>;
    /**
     * Computed CSS class string for the component.
     * @hidden
     */
    protected readonly cssClass: _angular_core.Signal<string>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<GenericTagComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<GenericTagComponent, "[fd-generic-tag]", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "ariaRoleDescription": { "alias": "ariaRoleDescription"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

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

declare const FD_GENERIC_TAG_COMPONENT: InjectionToken<unknown>;

export { FD_GENERIC_TAG_COMPONENT, GenericTagComponent, GenericTagModule };
export type { GenericTagType };
