import * as i0 from '@angular/core'; import { ChangeDetectorRef, ViewContainerRef, EventEmitter, OnDestroy, AfterViewInit, InjectionToken } from '@angular/core'; import { AXUnsubscriber } from '@acorex/core/utils'; import { AXValidationSummary, AXValidationRuleOptions } from '@acorex/core/validation'; import { ControlValueAccessor } from '@angular/forms'; import { DataSource, CollectionViewer } from '@angular/cdk/collections'; import { Subject, Observable } from 'rxjs'; import * as polytype from 'polytype'; import { Observable as Observable$1 } from 'rxjs/internal/Observable'; type AXAnimationEasing = 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'cubic' | 'cubic-in' | 'cubic-out' | 'cubic-in-out'; declare abstract class NXButtonComponent { text: i0.ModelSignal; toggleableChange: i0.OutputEmitterRef; selectedChange: i0.OutputEmitterRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * A token that specifies the color style of component. */ type AXStyleColorType = 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'default'; declare const AX_STYLE_COLOR_TYPES: AXStyleColorType[]; type AXStyleLookType = 'solid' | 'blank' | 'outline' | 'twotone' | 'flat' | 'fill' | 'link' | 'none'; declare const AX_STYLE_LOOK_TYPES: AXStyleLookType[]; type AXSizeType = 'xs' | 'sm' | 'md' | 'lg' | 'xl'; type AXStyleSizeType = `ax-${AXSizeType}`; type AXLocation = 'bottom-start' | 'bottom-center' | 'bottom-end' | 'top-start' | 'top-center' | 'top-end' | 'center-end' | 'center-start'; declare const AX_LOCATIONS: AXLocation[]; type AXSurfaceType = 'lightest' | 'lighter' | 'light' | 'surface' | 'dark' | 'darker' | 'darkest'; declare abstract class NXColorComponent { color: i0.ModelSignal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare abstract class NXComponent { #private; protected isRendered: i0.Signal; get nativeElement(): HTMLElement; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Base event class * @category Events */ declare class NXEvent { sender: T; } /** * Contains native event * @category Events */ declare class NXNativeEvent extends NXEvent { nativeEvent: E; } /** * Fires each time the user click the element. * @category Events */ declare class NXClickEvent extends NXNativeEvent { } declare abstract class NXInteractiveComponent extends NXComponent { disabled: i0.ModelSignal; tabIndex: i0.ModelSignal; onFocus: i0.OutputEmitterRef; onBlur: i0.OutputEmitterRef; focus(): void; blur(): void; hasFocus(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare abstract class NXLookComponent { look: i0.ModelSignal; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare abstract class NXValueComponent { readonly: i0.ModelSignal; name: i0.ModelSignal; value: i0.ModelSignal; onValueChanged: i0.OutputEmitterRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * A token that specifies the direction of component. */ type AXDirection = 'vertical' | 'horizontal'; /** * A token that specifies the orientation of component. */ type AXOrientation = 'vertical' | 'horizontal'; type AXPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'end' | 'end-top' | 'end-bottom' | 'start' | 'start-top' | 'start-bottom'; type AXPlacementType = AXConnectedPosition | AXConnectedPosition[] | AXPlacement | AXPlacement[]; declare function convertToPlacement(value: AXPlacementType): AXConnectedPosition[]; interface AXConnectedPosition { originX: 'start' | 'center' | 'end'; originY: 'top' | 'center' | 'bottom'; overlayX: 'start' | 'center' | 'end'; overlayY: 'top' | 'center' | 'bottom'; weight?: number; offsetX?: number; offsetY?: number; } declare const AX_PLACEMENT_TOP: AXConnectedPosition; declare const AX_PLACEMENT_TOP_START: AXConnectedPosition; declare const AX_PLACEMENT_TOP_END: AXConnectedPosition; declare const AX_PLACEMENT_BOTTOM: AXConnectedPosition; declare const AX_PLACEMENT_BOTTOM_START: AXConnectedPosition; declare const AX_PLACEMENT_BOTTOM_END: AXConnectedPosition; declare const AX_PLACEMENT_START: AXConnectedPosition; declare const AX_PLACEMENT_START_TOP: AXConnectedPosition; declare const AX_PLACEMENT_START_BOTTOM: AXConnectedPosition; declare const AX_PLACEMENT_END: AXConnectedPosition; declare const AX_PLACEMENT_END_TOP: AXConnectedPosition; declare const AX_PLACEMENT_END_BOTTOM: AXConnectedPosition; declare const AX_PLACEMENT_MAP: { [key: string]: { origin: AXConnectedPosition; alts?: AXConnectedPosition[]; }; }; interface AXRange { from: T; end: T; } /** * A token that specifies the selection mode of component. */ type AXSelectionMode = 'single' | 'multiple' | 'none'; /** * Contains native event * @category Events */ declare class AXEvent { /** * The sender component */ component: any; /** * The root native element */ htmlElement?: HTMLElement; isUserInteraction?: boolean; } /** * Contains native event * @category Events */ declare class AXHtmlEvent extends AXEvent { nativeEvent?: E; } /** * Contains native event * @category Events */ declare class AXValueChangedEvent extends AXEvent { name?: string; value?: T; oldValue?: T; } /** * Contains native event * @category Events */ declare class AXOptionChangedEvent extends AXEvent { name?: string; newValue?: T; oldValue?: T; } /** * Fires each time the user click the element. * @category Events */ declare class AXClickEvent extends AXHtmlEvent { /** * uses for extra data */ data?: any; nativeEvent?: any; } /** * Fires each time the user click the element. * @category Events */ declare class AXButtonClickEvent extends AXClickEvent { name: string; } /** * Fires each time the user click the element. * @category Events */ declare class AXItemClickEvent extends AXClickEvent { name?: string; item: T; } /** * Fires each time the user select the element. * @category Events */ declare class AXItemSelectedEvent extends AXEvent { item: T; } /** * Fires each time the component gets focused. * @category Events */ declare class AXFocusEvent extends AXHtmlEvent { } /** * Fires each time an item or multiple items selected by the user or value. * @category Events */ declare class AXSelectionValueChangedEvent extends AXValueChangedEvent { value?: any; oldValue?: any; selectedKeys?: any[]; selectedItems?: any[]; } /** * Contains range start & end values * @category Events */ declare class AXRangeChangedEvent extends AXEvent { /** * The range start value */ start?: T; /** * The range end value */ end?: T; } type MXComponentOptionChanging = { name: string; value?: T; }; type MXComponentOptionChanged = MXComponentOptionChanging; type MXComponentSetOption = { name: string; value?: T; afterCallback?: (oldValue?: T, newValue?: T) => void; beforeCallback?: (oldValue?: T, newValue?: T) => void; }; type AXComponentState = 'clear' | 'success' | 'error'; declare abstract class MXBaseComponent { private _cdr; private _elementRef; private _viewRef; private _domService; private _id; get id(): string; set id(v: string); protected get cdr(): ChangeDetectorRef; /** * Gets the host HTML element of the component. * * @returns T - The native DOM element associated with this component. */ getHostElement(): T; protected getViewContainer(): ViewContainerRef; protected internalOptionChanging(option: MXComponentOptionChanging): any; protected internalOptionChanged(option: MXComponentOptionChanged): void; /** * @ignore */ protected ngOnInit(): void; /** * Fired when an option related to the component changes. * * @event */ onOptionChanged: EventEmitter; /** * Sets a component option with optional lifecycle callbacks. * * @param option - The option configuration containing the name, value and optional before/after callbacks. */ setOption(option: MXComponentSetOption): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class MXInteractiveComponent extends MXBaseComponent { /** * @ignore */ protected onTouchedCallback: () => void; /** * Registers a touched callback function (ControlValueAccessor method). * * @param fn - The callback function to register. */ registerOnTouched(fn: () => void): void; private _touched; /** * Indicates whether the component has been touched. * */ get touched(): boolean; /** * @ignore */ protected markAsTouched(): void; /** * Emits an event whenever the disabled state of the component changes. * * @event */ disabledChange: EventEmitter; private _disabled; /** * If set to true, it disables the component. */ get disabled(): boolean; set disabled(value: boolean); /** * Sets the disabled state of the component. * * @param isDisabled - Whether the component should be disabled. */ setDisabledState(isDisabled: boolean): void; _tabIndex: number; /** * Specifies the tabindex of the component. */ get tabIndex(): number; set tabIndex(value: number); /** * Fires each time the component gets focused. * @event */ onFocus: EventEmitter; protected emitOnFocusEvent(e?: FocusEvent): void; /** * Fires each time the component gets blurred. * @event */ onBlur: EventEmitter; protected emitOnBlurEvent(e?: FocusEvent): void; /** * Focuses the component. */ focus(): void; /** * Removes focus from the component. */ blur(): void; /** * Checks if the component is focused or has any focused element. * * @returns boolean - True if the component has focus. */ hasFocus(): boolean; } declare class MXValueComponent extends MXInteractiveComponent implements ControlValueAccessor { /** * Fires each time the user press a key. * @event */ onValueChanged: EventEmitter>; /** * @deprecated The event should not be used, use ngModelChange instead */ valueChange: EventEmitter; readonlyChange: EventEmitter; private _readonly; /** * If set to true, user cannot change the value of component. */ get readonly(): boolean; set readonly(value: boolean); private _name; get name(): string; set name(value: string); private _dirty; get dirty(): boolean; markAsDirty(): void; private _isUserInteraction; initValue: T; defaultValue: T; private _value; /** * @deprecated The property should not be used, use ngModel instead */ get value(): T; set value(v: T); stateChange: EventEmitter; private _state; get state(): AXComponentState; set state(value: AXComponentState); protected emitOnValueChangedEvent(oldValue?: any, newValue?: any): void; protected internalSetValue(value: any): T; protected internalGetValue(value: any): T; protected internalValueChanged(value: any): void; protected ngOnInit(): void; protected ngOnDestroy(): void; protected registerValidation(): void; protected document: Document; protected platformID: Object; private validationService; validationRulesChange: EventEmitter; private validationRules; get isRequired(): boolean; /** * Adds a validation rule. * * @param rule - The validation rule to add. */ addValidationRule(rule: AXFormValidationRule): void; /** * Removes a validation rule. * * @param ruleToRemove - The validation rule to remove. */ removeValidationRule(ruleToRemove: AXFormValidationRule): void; removeValidationRuleByType(type: string): void; /** * Validates the component. * * @returns Promise - Validation result. */ validate(): Promise; protected setState(state: AXComponentState, ...args: any[]): void; protected onChangeCallback: (value: T) => void; /** * Registers a change callback function (ControlValueAccessor method). * * @param fn - The callback function to register. */ registerOnChange(fn: (value: T) => void): void; /** * Writes a value to the component (ControlValueAccessor method). * * @param value - The value to write. */ writeValue(value: T): void; /** * Commits a value with optional user interaction flag. * * @param value - The value to commit. * @param u - Optional flag indicating if this is a user interaction. */ commitValue(value: T, u?: boolean): void; /** * Resets the component value. * * @param e - Optional flag indicating if this is a user interaction. */ reset(e?: boolean): void; /** * Resets validation errors. */ resetErrors(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } declare const TAB_META_KEY = "__meta__"; declare class AXComponentCloseEvent extends AXEvent { data?: any; } declare class AXComponentClosing { cancel: boolean; data?: any; } declare class AXComponentResult { sender: any; data?: any; } interface AXFormValidationRule { rule: string; disabled: boolean; options?: AXValidationRuleOptions; } /** * Defines a CSS class—or multiple classes separated by spaces— which are applied to a span element inside the Button. Allows the usage of custom icons after the primary text. */ declare class AXComponentClosedPromise extends Promise { private closeMethod; constructor(executor: (resolve: (value?: AXComponentResult | PromiseLike) => void, reject: (reason?: any) => void) => void); close(): void; } declare abstract class AXComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare abstract class AXClosableComponent extends AXComponent { abstract close(): void; abstract closeAll(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare abstract class AXClearableComponent extends AXComponent { abstract reset(u: boolean): void; abstract get readonly(): boolean; abstract get disabled(): boolean; abstract get value(): unknown; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare abstract class AXSearchableComponent extends AXComponent { abstract search(value: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare abstract class AXValuableComponent extends AXComponent { abstract get isRequired(): boolean; validationRulesChange: EventEmitter; abstract get name(): string; abstract get value(): unknown; abstract onValueChanged: EventEmitter>; abstract commitValue(value: unknown, u: boolean): any; abstract addValidationRule(rule: AXFormValidationRule): any; abstract removeValidationRule(rule: AXFormValidationRule): any; abstract validate(): Promise; abstract reset(e: boolean): void; abstract resetErrors(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare abstract class AXFocusableComponent extends AXComponent { abstract focus(): any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } interface AXPagedComponentInterface { goToPage(page: number): any; get totalCount(): number; get pageSize(): number; onPageChanged: EventEmitter>; } declare abstract class AXPagedComponent extends AXComponent implements AXPagedComponentInterface { abstract goToPage(page: number): any; abstract get totalCount(): number; abstract pageSize: number; abstract onPageChanged: EventEmitter>; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare abstract class AXAutocompleteParentComponent extends MXValueComponent { oldInputEmitValue: T; abstract unsubscriber: AXUnsubscriber; onKeyDown: EventEmitter>; onItemSelected: EventEmitter>; emitOnItemSelected(value: T, isUserInteraction?: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } type AXDataSourceOperator = { type: 'equal' | 'isNull' | 'isEmpty' | 'lt' | 'lte' | 'gt' | 'gte' | 'startsWith' | 'endsWith' | 'contains' | 'in'; negative?: boolean; }; type AXFilterLogic = 'and' | 'or'; type AXSortOrder = 'asc' | 'desc'; type AXDataSourceFilterOption = { field?: string; value?: unknown; operator?: AXDataSourceOperator; logic?: AXFilterLogic; filters?: AXDataSourceFilterOption[]; }; type AXDataSourceSortOption = { field: string; dir: 'asc' | 'desc'; }; interface AXDataSourceQuery { take: number; skip: number; filter?: AXDataSourceFilterOption; sort: AXDataSourceSortOption[]; } interface AXDataSourceCallbackResult { items: Array; total: number; } type AXDataSourceLoadCallback = (e: AXDataSourceQuery) => Promise>; type AXDataSourceByKeyCallback = (key: unknown) => Promise; interface AXDataSourceConfig { key?: string; pageSize: number; load: AXDataSourceLoadCallback; byKey?: AXDataSourceByKeyCallback; } interface AXDataSourceChangedEvent { cachedItems: Array; items: Array; totalCount: number; totalPages: number; page: number; } interface AXDataSourceItemExpandedEvent { expandedItem: T; children: Array; } declare class AXDataSource { config: AXDataSourceConfig; useCache: boolean; private _totalCount; get totalCount(): number; get totalPages(): number; get pageSize(): number; private _cachedItems; get cachedItems(): T[]; private _items; get items(): T[]; private fetchedPages; private _page; private _query; get query(): AXDataSourceQuery; onChanged: Subject>; onItemExpanded: Subject>; onItemRefreshChildren: Subject<{ id: string; }>; onLoadingChanged: Subject; private _isLoading; get isLoading(): boolean; constructor(config: AXDataSourceConfig); private load; getItemsByFilter(filter: AXDataSourceFilterOption): Promise>; private setLoadingState; setPage(page: number): void; setPageSize(pageSize: number): void; filter(value: AXDataSourceFilterOption): void; sort(...value: AXDataSourceSortOption[]): void; clearFilter(): void; reset(): void; refresh(options?: { reset?: boolean; }): void; find(key: unknown): T | Promise; } declare function convertArrayToDataSource(items: T[], options?: { key: string; pageSize: number; }): AXDataSource; declare function applyDataSourceQuery>(items: T[], filter: AXDataSourceFilterOption): T[]; interface AXDataListQuery { take?: number; skip?: number; searchQuery?: string; } interface AXDataListFetchCallbackResult { items: Array; total: number; } type AXDataListFetchDataCallback = (e: AXDataListQuery) => Promise; type AXDataListItems = Array | AXDataListFetchDataCallback; declare class AXListDataSource extends DataSource { private config; private debounceTime; private subscription; source: AXDataSource; private dataStream; private _range; get range(): { start: number; end: number; }; /** * @ignore */ constructor(config: { source: AXDataSource; debounceTime?: number; }); connect(collectionViewer: CollectionViewer): Observable; disconnect(): void; private getPageForIndex; refresh(): void; } interface AXExpandToggleIcons { expanded: string; collapsed: string; } declare class AXResponsiveDirective implements OnDestroy { private _elementRef; private _observer; constructor(); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface AXScrollPosition { scrollHeight: number; scrollTop: number; clientHeight: number; } declare class AXInfiniteScrollerDirective implements AfterViewInit { private elm; private scrollEvent$; private userScrolledDown$; private requestOnScroll$; scrollCallback: Function; immediateCallback: any; scrollPercent: number; ngAfterViewInit(): void; private registerScrollEvent; private streamScrollEvents; private requestCallbackOnScroll; private isUserScrollingDown; private isScrollExpectedPercent; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class AXAutoFocusDirective implements AfterViewInit { private renderer; private el; _host: AXFocusableComponent; autoFocus?: boolean; time: number; private document; private platformID; ngAfterViewInit(): void; protected doFocus(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } type AXHotKeyAction = { [key: string]: string | Function; parmas?: any; }; declare class AXHotkeyDirective implements AfterViewInit { private el; _host: AXComponent; private hs; axHotkey: string | AXHotKeyAction | AXHotKeyAction[]; private _subs; ngAfterViewInit(): void; private _addDefaultAction; private _addHotKeyAction; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class AXCommonModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class MXColorComponent extends MXBaseComponent { colorChange: EventEmitter; private _color; /** * Predefined color schemes */ get color(): AXStyleColorType; set color(value: AXStyleColorType); } declare abstract class MXLookableComponent { look: AXStyleLookType; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } declare class MXLookComponent extends MXBaseComponent { lookChange: EventEmitter; private _look?; /** * Predefined look schemes */ get look(): AXStyleLookType; set look(value: AXStyleLookType); } declare const MXColorLookComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXColorComponent, typeof MXLookComponent]>; declare class MXColorLookComponent extends MXColorLookComponent_base { } declare const MXButtonBaseComponent_base: polytype.Polytype.ClusteredConstructor<[typeof MXInteractiveComponent, typeof MXColorLookComponent]>; declare class MXButtonBaseComponent extends MXButtonBaseComponent_base { /** * Emits an event when the text associated with the button changes. * * @event */ textChange: EventEmitter; private _text; /** * Defines the primary text to show inside the button. */ get text(): string; set text(v: string); /** * Emits an event when the toggleable state of the action sheet changes. * * @event */ toggleableChange: EventEmitter; private _toggleable?; /** * Provides visual styling that indicates if the Button is active */ get toggleable(): boolean; set toggleable(value: boolean); /** * Emits an event whenever the selection state of the component changes. * * @event */ selectedChange: EventEmitter; private _selected?; /** * Indicates if the Button is selected or not */ get selected(): boolean; set selected(value: boolean); /** * @ignore */ constructor(); /** * @ignore */ protected get cssClasses(): { 'ax-button-icon': boolean; 'ax-state-disabled': boolean; 'ax-state-selected': boolean; }; } declare class MXInputBaseValueComponent extends MXValueComponent { oldText: string; placeholder: string; /** * Fires each time the user press a key. * @event */ onKeyDown: EventEmitter>; /** * Fires each time the user press a key. * @event */ onKeyUp: EventEmitter>; /** * Fires each time the user press a key. * @event */ onKeyPress: EventEmitter>; /** * Fires each time the user change the text. * @event */ onTextChanged: EventEmitter>; protected emitOnKeydownEvent(e: KeyboardEvent): void; protected emitOnKeyupEvent(e: KeyboardEvent): void; protected emitOnKeypressEvent(e: KeyboardEvent): void; protected emitOnTextChanged(value: string, isUserInteraction?: boolean): void; focus(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } /** * Service that manages selection state and caching for selection components */ declare class MXSelectionBridgeService { /** Array of currently selected items */ selectedItems: unknown[]; /** Cache for normalized items keyed by their unique identifier */ cacheList: Record; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Injection token for the selection bridge service */ declare const AX_SELECTION_DATA_TOKEN: InjectionToken; /** * Type definition for disabled callback function */ type DisabledCallback = (event: { item: T; index: number; }) => boolean; /** * Type definition for normalized item object */ interface NormalizedItem { [key: string]: unknown; isLoading?: boolean; } /** * Abstract base component for selection-based value components * Provides common functionality for components that support item selection */ declare abstract class MXSelectionValueComponent extends MXValueComponent { private readonly formatService; private readonly dataService; /** Callback function to determine if an item should be disabled */ disabledCallback: DisabledCallback; private _valueField; /** Field name used to extract the unique value from items */ get valueField(): string; set valueField(value: string); private _textField; /** Field name used to extract the display text from items */ get textField(): string; set textField(value: string); private _textTemplate; /** Template string for formatting item display text */ get textTemplate(): string; set textTemplate(value: string); private _defaultText; /** Text to display when neither textField nor valueField exist on the item */ get defaultText(): string; set defaultText(value: string); private _disabledField; /** Field name used to determine if an item is disabled */ get disabledField(): string; set disabledField(value: string); private _multiple; /** Whether multiple items can be selected */ get multiple(): boolean; set multiple(value: boolean); /** Gets the currently selected items */ get selectedItems(): unknown[]; onItemSelected: EventEmitter; /** * Emitted when an item in the list is clicked. * * @event */ onItemClick: EventEmitter; /** * Abstract method to retrieve an item by its key * @param key The unique identifier of the item * @returns The item or a Promise that resolves to the item */ abstract getItemByKey(key: unknown): unknown | Promise; /** * Internal method to set and normalize the component value * @param value The value to set (can be single item or array) * @returns Normalized value based on multiple selection mode */ internalSetValue(value: unknown): unknown; /** * Override to normalize selected items when value changes */ emitOnValueChangedEvent(oldValue?: unknown, newValue?: unknown): void; /** * Normalizes a list of items, filtering out null values * @param items Array of items to normalize * @param findByKey Whether to attempt finding items by key * @returns Array of normalized items */ protected normalizeItemsList(items: unknown[], findByKey?: boolean): NormalizedItem[]; /** * Normalizes a single item, handling caching and async loading * @param item Item to normalize * @param findByKey Whether to attempt finding the item by key * @returns Normalized item object */ private normalizeItem; /** * Handles the normalization logic for items that need property assignment */ private handleItemNormalization; /** * Handles async item loading with loading state */ private handleAsyncItem; /** * Assigns value and text properties to the normalized object */ private assignItemProperties; /** * Creates a consistent cache key for an item */ private createCacheKey; /** * Normalizes currently selected items and updates the data service */ private _normalizeSelectedItems; /** * Unselects the specified items from the selection * @param items Items to unselect */ unselectItems(...items: T[]): void; /** * Selects the specified items * @param items Items to select */ selectItems(...items: T[]): void; /** * Toggles the selection state of the specified items * @param items Items to toggle */ toggleSelect(...items: T[]): void; /** * Checks if an item is currently selected * @param item Item to check * @returns True if the item is selected */ isItemSelected(item: T): boolean; /** * Checks if an item is disabled * @param item Item to check * @returns True if the item is disabled */ isItemDisabled(item: T): boolean; /** * Checks if an item is currently loading * @param item Item to check * @returns True if the item is loading */ isItemLoading(item: T): boolean; /** * Gets the display text for an item using template or text field * @param item Item to get display text for * @returns Formatted display text */ protected getDisplayText(item: T): string; /** * Gets the value of an item * @param item Item to get value from * @returns Item value */ protected getValue(item: T): unknown; /** * Clears the selection cache and selected items */ protected clearSelectionCache(): void; /** * Clears only the cache while preserving selected items */ protected softClearSelectionCache(): void; /** * Clears the debouncing cache for specific items to ensure fresh data is displayed */ protected clearItemDebouncingCache(item: T): void; /** * Forces a refresh of the display when items are loaded asynchronously * This should be called when the data source is updated */ protected refreshDisplay(): void; /** * Refreshes the display for all selected items to ensure consistency * This is useful when the data source has been updated */ protected refreshSelectedItemsDisplay(): void; /** * Forces a refresh of all selected items by clearing their debouncing cache * This ensures fresh data is displayed when the data source is updated */ protected forceRefreshSelectedItems(): void; /** * Asynchronously loads an item by its key and caches the result * @param key Key to load item by */ private loadAndCacheItemByKey; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; } declare class AXNgModelDelayedValueChangedDirective implements OnDestroy { private ngModel; axDelayedValueChanged: EventEmitter; axDelayTimeChange: EventEmitter; private _delayTime; get delayTime(): number; set delayTime(v: number); private subscription; ngOnDestroy(): void; constructor(); private update; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class AXInvertedColorDirective { color: i0.InputSignal; ref: ViewContainerRef; private platformID; constructor(); protected invertColor(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class AXRippleDirective implements OnDestroy { private el; private cdr; enabled?: boolean; axRippleColor: string; ripple: HTMLSpanElement | null; private document; private platformID; ngOnInit(): void; ngOnDestroy(): void; private onElementClick; private createRipple; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class AXDomService { generateElementId(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } type Options = { /** * element - An html element */ element: any; /** * keys - string of keys like (Control.f) */ keys: string; }; declare class AXHotkeysService { private eventManager; private document; defaults: Partial; /** * Add shortcut * * * @param options * @returns Observable * */ addShortcut(options: Partial): Observable$1; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { AXAutoFocusDirective, AXAutocompleteParentComponent, AXButtonClickEvent, AXClearableComponent, AXClickEvent, AXClosableComponent, AXCommonModule, AXComponent, AXComponentCloseEvent, AXComponentClosedPromise, AXComponentClosing, AXComponentResult, AXDataSource, AXDomService, AXEvent, AXFocusEvent, AXFocusableComponent, AXHotkeyDirective, AXHotkeysService, AXHtmlEvent, AXInfiniteScrollerDirective, AXInvertedColorDirective, AXItemClickEvent, AXItemSelectedEvent, AXListDataSource, AXNgModelDelayedValueChangedDirective, AXOptionChangedEvent, AXPagedComponent, AXRangeChangedEvent, AXResponsiveDirective, AXRippleDirective, AXSearchableComponent, AXSelectionValueChangedEvent, AXValuableComponent, AXValueChangedEvent, AX_LOCATIONS, AX_PLACEMENT_BOTTOM, AX_PLACEMENT_BOTTOM_END, AX_PLACEMENT_BOTTOM_START, AX_PLACEMENT_END, AX_PLACEMENT_END_BOTTOM, AX_PLACEMENT_END_TOP, AX_PLACEMENT_MAP, AX_PLACEMENT_START, AX_PLACEMENT_START_BOTTOM, AX_PLACEMENT_START_TOP, AX_PLACEMENT_TOP, AX_PLACEMENT_TOP_END, AX_PLACEMENT_TOP_START, AX_SELECTION_DATA_TOKEN, AX_STYLE_COLOR_TYPES, AX_STYLE_LOOK_TYPES, MXBaseComponent, MXButtonBaseComponent, MXColorComponent, MXColorLookComponent, MXInputBaseValueComponent, MXInteractiveComponent, MXLookComponent, MXLookableComponent, MXSelectionBridgeService, MXSelectionValueComponent, MXValueComponent, NXButtonComponent, NXClickEvent, NXColorComponent, NXComponent, NXEvent, NXInteractiveComponent, NXLookComponent, NXNativeEvent, NXValueComponent, TAB_META_KEY, applyDataSourceQuery, convertArrayToDataSource, convertToPlacement }; export type { AXAnimationEasing, AXComponentState, AXConnectedPosition, AXDataListFetchCallbackResult, AXDataListFetchDataCallback, AXDataListItems, AXDataListQuery, AXDataSourceByKeyCallback, AXDataSourceCallbackResult, AXDataSourceChangedEvent, AXDataSourceConfig, AXDataSourceFilterOption, AXDataSourceItemExpandedEvent, AXDataSourceLoadCallback, AXDataSourceOperator, AXDataSourceQuery, AXDataSourceSortOption, AXDirection, AXExpandToggleIcons, AXFilterLogic, AXFormValidationRule, AXHotKeyAction, AXLocation, AXOrientation, AXPagedComponentInterface, AXPlacement, AXPlacementType, AXRange, AXScrollPosition, AXSelectionMode, AXSizeType, AXSortOrder, AXStyleColorType, AXStyleLookType, AXStyleSizeType, AXSurfaceType, DisabledCallback, MXComponentOptionChanged, MXComponentOptionChanging, MXComponentSetOption, NormalizedItem };