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

declare class ObjectMarkerComponent implements HasElementRef {
    /**
     * Object Marker ID
     * If not set, a default value is provided
     */
    readonly id: _angular_core.InputSignal<string>;
    /** Sets aria-labelledby attribute for object marker */
    readonly ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
    /** Status text for the Object Status. */
    readonly statusText: _angular_core.InputSignal<string | undefined>;
    /** Glyph (icon) of the Object Status.*/
    readonly glyph: _angular_core.InputSignal<string | undefined>;
    /** Glyph font family */
    readonly glyphFont: _angular_core.InputSignal<IconFont>;
    /** Whether the Object Status is clickable. */
    readonly clickable: _angular_core.InputSignal<boolean>;
    /** Define the text content of the Object Status */
    readonly label: _angular_core.InputSignal<string | undefined>;
    /** Title attribute for the Object Status */
    readonly title: _angular_core.InputSignal<string | undefined>;
    /** @hidden */
    readonly elementRef: ElementRef<any>;
    /** Computed ID for the screen-reader only element */
    protected readonly srOnlyId: _angular_core.Signal<string>;
    /** Computed ID for the label element */
    protected readonly labelId: _angular_core.Signal<string>;
    /** Computed ID for the screen-reader only element for icon-only object marker */
    protected readonly srOnlyIconOnlyId: _angular_core.Signal<string>;
    /** @hidden Role attribute for the object marker */
    protected readonly role: _angular_core.Signal<"link" | "img" | undefined>;
    /** @hidden Role attribute for the icon */
    protected readonly iconRole: _angular_core.Signal<"presentation" | undefined>;
    /** @hidden Computed status text (uses custom or default) */
    protected readonly statusText$: _angular_core.Signal<string>;
    /** @hidden Computed title for icon (only when no label exists) */
    protected readonly iconTitle: _angular_core.Signal<string | undefined>;
    /** @hidden Computed aria-labelledby attribute */
    protected readonly computedAriaLabelledBy: _angular_core.Signal<string | undefined>;
    /** @hidden Translation signal for active state */
    private readonly _activeStatusText;
    /** @hidden Translation signal for inactive state */
    private readonly _inactiveStatusText;
    /** @hidden Default status text for the Object Marker. */
    private readonly _defaultStatusText;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ObjectMarkerComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ObjectMarkerComponent, "[fd-object-marker]", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "statusText": { "alias": "statusText"; "required": false; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "glyphFont": { "alias": "glyphFont"; "required": false; "isSignal": true; }; "clickable": { "alias": "clickable"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

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

export { ObjectMarkerComponent, ObjectMarkerModule };
