import { ElementRef, Injector, TemplateRef, computed } from '@angular/core'; import { Subject } from 'rxjs'; import { cond, eq } from '../../../angular-terminal/dom-terminal/sources/core/dom/StyleHandler'; import { FocusDirective } from '../../../commands/focus.directive'; import { Command, ShortcutService } from '../../../commands/shortcut.service'; import { BaseControlValueAccessor } from '../../../utils/base-control-value-accessor'; import { Deferred } from '../../../utils/Deferred'; import * as i0 from "@angular/core"; /** * Displays a list of items and highlights the current item. * Go up and down with the keyboard. */ export declare class List { /** * The items to be displayed in the list. * Can be an array, a signal or an observable. */ items: import("@angular/core").InputSignal; /** * A trackByFn. Same as for *ngFor. */ readonly trackByFn: import("@angular/core").InputSignal<(index: number, item: T) => T>; /** * What a line of this list should contain * This is an alternative to `template`. You can provide a component instead of a template. */ readonly displayComponent: import("@angular/core").InputSignal; /** * What a line of this list should contain */ readonly template: import("@angular/core").InputSignal>; /** * What item to select when the list is updated */ readonly onItemsChangeSelect: import("@angular/core").InputSignal<"last" | "first" | "same">; /** * What item to select when the list is created */ readonly onInitSelect: import("@angular/core").InputSignal<"last" | "first">; /** * Should the list add a style to the selected line */ readonly styleItem: import("@angular/core").InputSignal; itemStyle: (templateVars: any) => import("@angular/core").Signal<{}>; readonly template2: import("@angular/core").Signal>; selectedIndex: import("../../../utils/Signal2").Signal2; selectedValue: import("@angular/core").Signal; windowSize: number; visibleRange: import("@angular/core").WritableSignal<{ start: number; end: number; }>; visibleItems: import("@angular/core").Signal; selectedVisibleIndex: import("@angular/core").Signal; _displayComponent: any; controlValueAccessor: BaseControlValueAccessor; elementRefs: import("@angular/core").Signal[]>; focusRefs: import("@angular/core").Signal; /** * Emits when the selected line changes. */ $selectedItem: import("@angular/core").OutputEmitterRef; /** * Emits when the selected line changes. */ selectedIndexOutput: import("@angular/core").OutputEmitterRef; /** * Emits the currently visible lines of the list. */ visibleItemsOutput: import("@angular/core").OutputEmitterRef; deferreds: Deferred[]; previousItems: T[]; shortcutService: ShortcutService; logger: import("../../../angular-terminal/logger").Logger; injector: Injector; constructor(); ngOnInit(): void; /** * Tries to select the index `value` * @param value The index to select * @returns Returns false if the index got clamped, or if there's no items in the list */ selectIndex(value: number): Promise; selectVisibleIndex(visibleIndex: number): Promise; afterViewUpdate(): void; readonly S: import("@angular/core").InputSignal<{ listItem: { backgroundColor: string; color: string; }; }>; shortcuts: Partial[]; toString(): string; computed: typeof computed; cond: typeof cond; eq: typeof eq; destroy$: Subject; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵcmp: i0.ɵɵComponentDeclaration, "list", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "trackByFn": { "alias": "trackByFn"; "required": false; "isSignal": true; }; "displayComponent": { "alias": "displayComponent"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; "onItemsChangeSelect": { "alias": "onItemsChangeSelect"; "required": false; "isSignal": true; }; "onInitSelect": { "alias": "onInitSelect"; "required": false; "isSignal": true; }; "styleItem": { "alias": "styleItem"; "required": false; "isSignal": true; }; "S": { "alias": "S"; "required": false; "isSignal": true; }; }, { "$selectedItem": "selectedItem"; "selectedIndexOutput": "selectedIndex"; "visibleItemsOutput": "visibleItems"; }, ["template2", "focusRefs"], never, true, never>; } export declare function selectItem(list: List, item: any): Promise;