import { EventEmitter } from '@angular/core';
import { Direction, Orientation } from './utils';
import * as i0 from "@angular/core";
export declare class RdxRovingFocusGroupDirective {
    private readonly ngZone;
    private readonly elementRef;
    orientation: Orientation | undefined;
    dir: Direction;
    loop: boolean;
    preventScrollOnEntryFocus: boolean;
    readonly entryFocus: EventEmitter<Event>;
    readonly currentTabStopIdChange: EventEmitter<string | null>;
    /** @docs-private */
    readonly currentTabStopId: import("@angular/core").WritableSignal<string | null>;
    /** @docs-private */
    readonly focusableItems: import("@angular/core").WritableSignal<HTMLElement[]>;
    private readonly isClickFocus;
    private readonly isTabbingBackOut;
    private readonly focusableItemsCount;
    /** @docs-private */
    get dataOrientation(): Orientation;
    /** @docs-private */
    get tabIndex(): 0 | -1;
    /** @docs-private */
    handleBlur(): void;
    /** @docs-private */
    handleMouseUp(): void;
    /** @docs-private */
    handleFocus(event: FocusEvent): void;
    /** @docs-private */
    handleMouseDown(): void;
    /** @docs-private */
    onItemFocus(tabStopId: string): void;
    /** @docs-private */
    onItemShiftTab(): void;
    /** @docs-private */
    onFocusableItemAdd(): void;
    /** @docs-private */
    onFocusableItemRemove(): void;
    /** @docs-private */
    registerItem(item: HTMLElement): void;
    /** @docs-private */
    unregisterItem(item: HTMLElement): void;
    /** @docs-private */
    getFocusableItemsCount(): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<RdxRovingFocusGroupDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<RdxRovingFocusGroupDirective, "[rdxRovingFocusGroup]", never, { "orientation": { "alias": "orientation"; "required": false; }; "dir": { "alias": "dir"; "required": false; }; "loop": { "alias": "loop"; "required": false; }; "preventScrollOnEntryFocus": { "alias": "preventScrollOnEntryFocus"; "required": false; }; }, { "entryFocus": "entryFocus"; "currentTabStopIdChange": "currentTabStopIdChange"; }, never, never, true, never>;
    static ngAcceptInputType_loop: unknown;
    static ngAcceptInputType_preventScrollOnEntryFocus: unknown;
}
