import * as i0 from '@angular/core'; import { OnChanges, ChangeDetectorRef, EventEmitter, Renderer2, SimpleChanges } from '@angular/core'; import { ContextMenuComponent } from '@usitsdasdesign/dds-ng/context-menu'; import { DestroyCtor, I18nCtor } from '@usitsdasdesign/dds-ng/core/common-behaviors'; import { ThemeClassesMap } from '@usitsdasdesign/dds-ng/core/theme'; import { Themes, Size, ButtonKind } from '@usitsdasdesign/dds-ng/shared'; import { DdsConfigService } from '@usitsdasdesign/dds-ng/shared/dds-config'; import { I18nService, ITranslation } from '@usitsdasdesign/dds-ng/shared/i18n'; declare enum Areas { source = "innerSource", destination = "innerDestination" } interface ListboxOptions { source?: ListboxItem[] | ListboxGroup; destination?: ListboxItem[] | ListboxGroup; propName?: string; theme?: Themes | string; size?: Size | string; kind?: ButtonKind | string; isInverse?: boolean; isMultiSelect?: boolean; minHeight?: string; maxHeight?: string; destinationBtnIcon?: string; sourceBtnIcon?: string; customClass?: string; } interface ListboxGroup { [key: string]: ListboxItem[]; } interface ListboxItem { label?: string; selected?: boolean; [key: string]: any; } declare const ListboxBase: DestroyCtor & I18nCtor; declare class ListboxComponent extends ListboxBase implements OnChanges { cdr: ChangeDetectorRef; i18n: I18nService; private ddsConfig; private renderer; source: ListboxItem[] | ListboxGroup | undefined; destination: ListboxItem[] | ListboxGroup | undefined; propName: string | undefined; theme: Themes | string | undefined; size: Size | string | undefined; kind: ButtonKind | string | undefined; isMultiSelect: boolean | undefined; isInverse: boolean | undefined; minHeight: string | undefined; maxHeight: string | undefined; customClass: string | undefined; destinationBtnIcon: string | undefined; sourceBtnIcon: string | undefined; sourceChanged: EventEmitter; destinationChanged: EventEmitter; fullWidth: boolean; Areas: typeof Areas; selectedItems: { [key: string]: ListboxGroup; }; innerSource: ListboxGroup; innerDestination: ListboxGroup; emptyStateText: string; addBtnAriaLabel: string; removeBtnAriaLabel: string; menuAriaDescription: string; itemAriaLabel: string; isUnGroupedItems: boolean; themeConfig: ThemeClassesMap; private contextMenus; private sourceAriaLabel; private destinationAriaLabel; constructor(cdr: ChangeDetectorRef, i18n: I18nService, ddsConfig: DdsConfigService, renderer: Renderer2); ngOnChanges(changes: SimpleChanges): void; isEmpty(items: ListboxGroup): boolean; selectedItem(currentItem: ListboxItem, area: Areas): void; addItem(): void; removeItem(): void; onInit(contextMenu: ContextMenuComponent): void; resetFocusItem(contextMenu: ContextMenuComponent): void; getInnerItemsLength(area: Areas): boolean; getAriaLabel(area: Areas): string; getItemAriaLabel(title: string): string; unFocusWrap(area: ContextMenuComponent): void; private getDataItems; private unselectedAllItems; private unselectedItemsByArea; private emitChanges; private getItemsForEmit; protected setI18nTexts(translation: ITranslation): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class ListboxModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { ListboxComponent, ListboxModule }; export type { ListboxGroup, ListboxItem, ListboxOptions };