@@ -424,6 +424,41 @@ export interface RegisteredMessage {
424
424
// @public
425
425
export function removeAriaReferencedId(el : Element , attr : ` aria-${string } ` , id : string ): void ;
426
426
427
+ // @public
428
+ export class TreeKeyManager <T extends TreeKeyManagerItem > {
429
+ constructor ({ items , skipPredicate , trackBy , horizontalOrientation , activationFollowsFocus , typeAheadDebounceInterval , }: TreeKeyManagerOptions <T >);
430
+ readonly change: Subject <T | null >;
431
+ getActiveItem(): T | null ;
432
+ getActiveItemIndex(): number | null ;
433
+ onClick(treeItem : T ): void ;
434
+ onKeydown(event : KeyboardEvent ): void ;
435
+ readonly tabOut: Subject <void >;
436
+ }
437
+
438
+ // @public
439
+ export interface TreeKeyManagerItem {
440
+ activate(): void ;
441
+ collapse(): void ;
442
+ expand(): void ;
443
+ focus(): void ;
444
+ getChildren(): TreeKeyManagerItem [] | Observable <TreeKeyManagerItem []>;
445
+ getLabel? (): string ;
446
+ getParent(): TreeKeyManagerItem | null ;
447
+ isDisabled? : (() => boolean ) | boolean ;
448
+ isExpanded: (() => boolean ) | boolean ;
449
+ }
450
+
451
+ // @public (undocumented)
452
+ export interface TreeKeyManagerOptions <T extends TreeKeyManagerItem > {
453
+ activationFollowsFocus? : boolean ;
454
+ horizontalOrientation? : ' rtl' | ' ltr' ;
455
+ // (undocumented)
456
+ items: Observable <T []> | QueryList <T > | T [];
457
+ skipPredicate? : (item : T ) => boolean ;
458
+ trackBy? : (treeItem : T ) => unknown ;
459
+ typeAheadDebounceInterval? : true | number ;
460
+ }
461
+
427
462
// (No @packageDocumentation comment for this package)
428
463
429
464
```
0 commit comments