import { ElementRef, EventEmitter } from '@angular/core';
import { KeyboardSupportItemInterface } from '@fundamental-ngx/cdk/utils';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare abstract class CardFocusItem<T = any> implements KeyboardSupportItemInterface {
    /**
     * tab index attribute
     */
    set tabindex(value: number);
    get tabindex(): number;
    /**
     * value of the list item.
     */
    value: import("@angular/core").InputSignal<T | undefined>;
    /**
     * @hidden
     * implementation of KeyboardSupportItemInterface
     */
    keyDown: EventEmitter<KeyboardEvent>;
    /** @hidden */
    readonly elementRef: ElementRef;
    /** @hidden */
    readonly _focused$: Subject<{
        focusedWithin: boolean;
    }>;
    /** @hidden */
    readonly _clicked$: Subject<MouseEvent>;
    /** @hidden */
    protected _isFirstItem$: import("@angular/core").WritableSignal<boolean>;
    /** @hidden */
    protected _tabIndex$: import("@angular/core").WritableSignal<number | undefined>;
    /** @hidden */
    protected _normalizedTabIndex$: import("@angular/core").Signal<number>;
    /** @hidden */
    protected onFocus(event: FocusEvent): void;
    /** @hidden */
    click(): void;
    /** @hidden */
    focus(): void;
    /** @hidden */
    setIsFirst(value: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CardFocusItem<any>, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CardFocusItem<any>, never, never, { "tabindex": { "alias": "tabindex"; "required": false; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
