import { OnDestroy, OnInit } from '@angular/core';
import { RdxRovingFocusGroupDirective } from './roving-focus-group.directive';
import * as i0 from "@angular/core";
export declare class RdxRovingFocusItemDirective implements OnInit, OnDestroy {
    private readonly elementRef;
    private readonly ngZone;
    protected readonly parent: RdxRovingFocusGroupDirective;
    focusable: boolean;
    active: boolean;
    tabStopId: string;
    allowShiftKey: boolean;
    private readonly id;
    /** @docs-private */
    readonly isCurrentTabStop: import("@angular/core").Signal<boolean>;
    /**
     * Lifecycle hook triggered on initialization.
     * Registers the element with the parent roving focus group if it is focusable.
     * @docs-private
     */
    ngOnInit(): void;
    /**
     * Lifecycle hook triggered on destruction.
     * Unregisters the element from the parent roving focus group if it is focusable.
     * @docs-private
     */
    ngOnDestroy(): void;
    /**
     * Determines the `tabIndex` of the element.
     * Returns `0` if the element is the current tab stop; otherwise, returns `-1`.
     * @docs-private
     */
    get tabIndex(): 0 | -1;
    /** @docs-private */
    handleMouseDown(event: MouseEvent): void;
    /** @docs-private */
    onFocus(): void;
    /**
     * Handles the `keydown` event for keyboard navigation within the roving focus group.
     * Supports navigation based on orientation and direction, and focuses appropriate elements.
     *
     * @param event The `KeyboardEvent` object.
     * @docs-private
     */
    handleKeydown(event: KeyboardEvent): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RdxRovingFocusItemDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<RdxRovingFocusItemDirective, "[rdxRovingFocusItem]", never, { "focusable": { "alias": "focusable"; "required": false; }; "active": { "alias": "active"; "required": false; }; "tabStopId": { "alias": "tabStopId"; "required": false; }; "allowShiftKey": { "alias": "allowShiftKey"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_focusable: unknown;
    static ngAcceptInputType_active: unknown;
    static ngAcceptInputType_allowShiftKey: unknown;
}
