import { MultiSelectPassThrough, MultiSelectDisplay, MultiSelectChangeEvent, MultiSelectFilterEvent, MultiSelectFocusEvent, MultiSelectBlurEvent, MultiSelectLazyLoadEvent, MultiSelectRemoveEvent, MultiSelectSelectAllChangeEvent, MultiSelectItemTemplateContext, MultiSelectGroupTemplateContext, MultiSelectLoaderTemplateContext, MultiSelectFilterTemplateContext, MultiSelectSelectedItemsTemplateContext, MultiSelectChipIconTemplateContext, MultiSelectDropdownIconTemplateContext, MultiSelectItemCheckboxIconTemplateContext, MultiSelectHeaderCheckboxIconTemplateContext, MultiSelectFilterOptions } from 'primeng/types/multiselect'; export * from 'primeng/types/multiselect'; import * as _angular_core from '@angular/core'; import { Provider, ElementRef, TemplateRef } from '@angular/core'; import { MotionOptions, MotionEvent } from '@primeuix/motion'; import * as i2 from 'primeng/api'; import { ScrollerOptions, OverlayOptions, FilterMatchModeType, Footer, Header, FilterService, OverlayService, OverlayOnHideEvent } from 'primeng/api'; import { BaseEditableHolder } from 'primeng/baseeditableholder'; import * as i1 from 'primeng/bind'; import { Bind } from 'primeng/bind'; import { Checkbox } from 'primeng/checkbox'; import { Fluid } from 'primeng/fluid'; import { Overlay } from 'primeng/overlay'; import { Scroller } from 'primeng/scroller'; import { Nullable } from 'primeng/ts-helpers'; import { CSSProperties, AppendTo } from 'primeng/types/shared'; import { TooltipPosition } from 'primeng/types/tooltip'; import { BaseStyle } from 'primeng/base'; declare class MultiSelectStyle extends BaseStyle { name: string; style: string; classes: { root: ({ instance }: { instance: any; }) => (string | { 'p-multiselect-display-chip': boolean; 'p-disabled': any; 'p-invalid': any; 'p-variant-filled': boolean; 'p-focus': any; 'p-inputwrapper-filled': any; 'p-inputwrapper-focus': any; 'p-multiselect-open': any; 'p-multiselect-fluid': any; 'p-multiselect-sm p-inputfield-sm': boolean; 'p-multiselect-lg p-inputfield-lg': boolean; })[]; labelContainer: string; label: ({ instance }: { instance: any; }) => { 'p-multiselect-label': boolean; 'p-placeholder': boolean; 'p-multiselect-label-empty': boolean; }; clearIcon: string; chipItem: string; pcChip: string; chipIcon: string; dropdown: string; loadingIcon: string; dropdownIcon: string; overlay: string; header: string; pcFilterContainer: string; pcFilter: string; listContainer: string; list: string; optionGroup: string; option: ({ instance }: { instance: any; }) => { 'p-multiselect-option': boolean; 'p-multiselect-option-selected': any; 'p-disabled': any; 'p-focus': any; }; emptyMessage: string; }; inlineStyles: { root: ({ instance }: { instance: any; }) => { position: string | undefined; }; }; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } /** * * MultiSelect is used to select multiple items from a collection. * * [Live Demo](https://www.primeng.org/multiselect/) * * @module multiselectstyle * */ declare enum MultiSelectClasses { /** * Class name of the root element */ root = "p-multiselect", /** * Class name of the label container element */ labelContainer = "p-multiselect-label-container", /** * Class name of the label element */ label = "p-multiselect-label", /** * Class name of the chip item element */ chipItem = "p-multiselect-chip-item", /** * Class name of the chip element */ pcChip = "p-multiselect-chip", /** * Class name of the chip icon element */ chipIcon = "p-multiselect-chip-icon", /** * Class name of the dropdown element */ dropdown = "p-multiselect-dropdown", /** * Class name of the loading icon element */ loadingIcon = "p-multiselect-loading-icon", /** * Class name of the dropdown icon element */ dropdownIcon = "p-multiselect-dropdown-icon", /** * Class name of the overlay element */ overlay = "p-multiselect-overlay", /** * Class name of the header element */ header = "p-multiselect-header", /** * Class name of the filter container element */ pcFilterContainer = "p-multiselect-filter-container", /** * Class name of the filter element */ pcFilter = "p-multiselect-filter", /** * Class name of the list container element */ listContainer = "p-multiselect-list-container", /** * Class name of the list element */ list = "p-multiselect-list", /** * Class name of the option group element */ optionGroup = "p-multiselect-option-group", /** * Class name of the option element */ option = "p-multiselect-option", /** * Class name of the empty message element */ emptyMessage = "p-multiselect-empty-message", /** * Class name of the clear icon */ clearIcon = "p-autocomplete-clear-icon" } declare const MULTISELECT_VALUE_ACCESSOR: Provider; /** * MultiSelect is used to select multiple items from a collection. * @group Components * @deprecated Use Select component with `multiple` property instead. */ declare class MultiSelect extends BaseEditableHolder { componentName: string; /** * Unique identifier of the component * @group Props */ id: _angular_core.InputSignal; /** * Defines a string that labels the input for accessibility. * @group Props */ ariaLabel: _angular_core.InputSignal; /** * Inline style of the overlay panel. * @group Props */ panelStyle: _angular_core.InputSignal; /** * Style class of the overlay panel element. * @group Props */ panelStyleClass: _angular_core.InputSignal; /** * Identifier of the focus input to match a label defined for the component. * @group Props */ inputId: _angular_core.InputSignal; /** * When present, it specifies that the component cannot be edited. * @group Props */ readonly: _angular_core.InputSignalWithTransform; /** * Whether to display options as grouped when nested options are provided. * @group Props */ group: _angular_core.InputSignalWithTransform; /** * When specified, displays an input field to filter the items on keyup. * @group Props */ filter: _angular_core.InputSignalWithTransform; /** * Defines placeholder of the filter input. * @group Props */ filterPlaceHolder: _angular_core.InputSignal; /** * Locale to use in filtering. The default locale is the host environment's current locale. * @group Props */ filterLocale: _angular_core.InputSignal; /** * Specifies the visibility of the options panel. * @group Props */ overlayVisible: _angular_core.ModelSignal; /** * Index of the element in tabbing order. * @group Props */ tabindex: _angular_core.InputSignalWithTransform; /** * A property to uniquely identify a value in options. * @group Props */ dataKey: _angular_core.InputSignal; /** * Establishes relationships between the component and label(s) where its value should be one or more element IDs. * @group Props */ ariaLabelledBy: _angular_core.InputSignal; /** * Whether to show labels of selected item labels or use default label. * @group Props * @defaultValue true */ displaySelectedLabel: _angular_core.InputSignalWithTransform; /** * Decides how many selected item labels to show at most. * @group Props * @defaultValue 3 */ maxSelectedLabels: _angular_core.InputSignal; /** * Maximum number of selectable items. * @group Props */ selectionLimit: _angular_core.InputSignalWithTransform; /** * Label to display after exceeding max selected labels e.g. ({0} items selected), defaults "ellipsis" keyword to indicate a text-overflow. * @group Props */ selectedItemsLabel: _angular_core.InputSignal; /** * Whether to show the checkbox at header to toggle all items at once. * @group Props */ showToggleAll: _angular_core.InputSignalWithTransform; /** * Text to display when filtering does not return any results. * @group Props */ emptyFilterMessage: _angular_core.InputSignal; /** * Text to display when there is no data. Defaults to global value in i18n translation configuration. * @group Props */ emptyMessage: _angular_core.InputSignal; /** * Clears the filter value when hiding the dropdown. * @group Props */ resetFilterOnHide: _angular_core.InputSignalWithTransform; /** * Icon class of the dropdown icon. * @group Props */ dropdownIcon: _angular_core.InputSignal; /** * Icon class of the chip icon. * @group Props */ chipIcon: _angular_core.InputSignal; /** * Name of the label field of an option. * @group Props */ optionLabel: _angular_core.InputSignal; /** * Name of the value field of an option. * @group Props */ optionValue: _angular_core.InputSignal; /** * Name of the disabled field of an option or function to determine disabled state. * @group Props */ optionDisabled: _angular_core.InputSignal boolean) | undefined>; /** * Name of the label field of an option group. * @group Props */ optionGroupLabel: _angular_core.InputSignal; /** * Name of the options field of an option group. * @group Props */ optionGroupChildren: _angular_core.InputSignal; /** * Whether to show the header. * @group Props */ showHeader: _angular_core.InputSignalWithTransform; /** * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against. * @group Props */ filterBy: _angular_core.InputSignal; /** * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value. * @group Props */ scrollHeight: _angular_core.InputSignal; /** * Defines if data is loaded and interacted with in lazy manner. * @group Props */ lazy: _angular_core.InputSignalWithTransform; /** * Whether the data should be loaded on demand during scroll. * @group Props */ virtualScroll: _angular_core.InputSignalWithTransform; /** * Whether the multiselect is in loading state. * @group Props */ loading: _angular_core.InputSignalWithTransform; /** * Height of an item in the list for VirtualScrolling. * @group Props */ virtualScrollItemSize: _angular_core.InputSignalWithTransform; /** * Icon to display in loading state. * @group Props */ loadingIcon: _angular_core.InputSignal; /** * Whether to use the scroller feature. The properties of scroller component can be used like an object in it. * @group Props */ virtualScrollOptions: _angular_core.InputSignal; /** * Whether to use overlay API feature. The properties of overlay API can be used like an object in it. * @group Props */ overlayOptions: _angular_core.InputSignal; /** * Defines a string that labels the filter input. * @group Props */ ariaFilterLabel: _angular_core.InputSignal; /** * Defines how the items are filtered. * @group Props */ filterMatchMode: _angular_core.InputSignal; /** * Advisory information to display in a tooltip on hover. * @group Props */ tooltip: _angular_core.InputSignal; /** * Position of the tooltip. * @group Props */ tooltipPosition: _angular_core.InputSignal; /** * Type of CSS position. * @group Props */ tooltipPositionStyle: _angular_core.InputSignal; /** * Style class of the tooltip. * @group Props */ tooltipStyleClass: _angular_core.InputSignal; /** * Applies focus to the filter element when the overlay is shown. * @group Props */ autofocusFilter: _angular_core.InputSignalWithTransform; /** * Defines how the selected items are displayed. * @group Props */ display: _angular_core.InputSignal; /** * Defines the autocomplete is active. * @group Props */ autocomplete: _angular_core.InputSignal; /** * When enabled, a clear icon is displayed to clear the value. * @group Props */ showClear: _angular_core.InputSignalWithTransform; /** * When present, it specifies that the component should automatically get focus on load. * @group Props */ autofocus: _angular_core.InputSignalWithTransform; /** * Label to display when there are no selections. * @group Props */ placeholder: _angular_core.InputSignal; /** * An array of objects to display as the available options. * @group Props */ options: _angular_core.InputSignal; /** * When specified, filter displays with this value. * @group Props */ filterValue: _angular_core.InputSignal; /** * Whether all data is selected. * @group Props */ selectAll: _angular_core.InputSignal; /** * Indicates whether to focus on options when hovering over them, defaults to optionLabel. * @group Props */ focusOnHover: _angular_core.InputSignalWithTransform; /** * Fields used when filtering the options, defaults to optionLabel. * @group Props */ filterFields: _angular_core.InputSignal; /** * Determines if the option will be selected on focus. * @group Props */ selectOnFocus: _angular_core.InputSignalWithTransform; /** * Whether to focus on the first visible or selected element when the overlay panel is shown. * @group Props */ autoOptionFocus: _angular_core.InputSignalWithTransform; /** * Whether the selected option will be add highlight class. * @group Props */ highlightOnSelect: _angular_core.InputSignalWithTransform; /** * Specifies the size of the component. * @defaultValue undefined * @group Props */ size: _angular_core.InputSignal<"small" | "large" | undefined>; /** * Specifies the input variant of the component. * @defaultValue undefined * @group Props */ variant: _angular_core.InputSignal<"filled" | "outlined" | undefined>; /** * Spans 100% width of the container when enabled. * @defaultValue undefined * @group Props */ fluid: _angular_core.InputSignalWithTransform; /** * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name). * @defaultValue 'self' * @group Props */ appendTo: _angular_core.InputSignal; /** * The motion options. * @group Props */ motionOptions: _angular_core.InputSignal; /** * Callback to invoke when value changes. * @param {MultiSelectChangeEvent} event - Custom change event. * @group Emits */ onChange: _angular_core.OutputEmitterRef; /** * Callback to invoke when data is filtered. * @param {MultiSelectFilterEvent} event - Custom filter event. * @group Emits */ onFilter: _angular_core.OutputEmitterRef; /** * Callback to invoke when multiselect receives focus. * @param {MultiSelectFocusEvent} event - Custom focus event. * @group Emits */ onFocus: _angular_core.OutputEmitterRef; /** * Callback to invoke when multiselect loses focus. * @param {MultiSelectBlurEvent} event - Custom blur event. * @group Emits */ onBlur: _angular_core.OutputEmitterRef; /** * Callback to invoke when component is clicked. * @param {Event} event - Browser event. * @group Emits */ onClick: _angular_core.OutputEmitterRef; /** * Callback to invoke when input field is cleared. * @group Emits */ onClear: _angular_core.OutputEmitterRef; /** * Callback to invoke when overlay panel becomes visible. * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime. * @group Emits */ onPanelShow: _angular_core.OutputEmitterRef; /** * Callback to invoke when overlay panel becomes hidden. * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime. * @group Emits */ onPanelHide: _angular_core.OutputEmitterRef; /** * Callback to invoke in lazy mode to load new data. * @param {MultiSelectLazyLoadEvent} event - Lazy load event. * @group Emits */ onLazyLoad: _angular_core.OutputEmitterRef; /** * Callback to invoke in lazy mode to load new data. * @param {MultiSelectRemoveEvent} event - Remove event. * @group Emits */ onRemove: _angular_core.OutputEmitterRef; /** * Callback to invoke when all data is selected. * @param {MultiSelectSelectAllChangeEvent} event - Custom select event. * @group Emits */ onSelectAllChange: _angular_core.OutputEmitterRef; overlayViewChild: _angular_core.Signal; filterInputChild: _angular_core.Signal | undefined>; focusInputViewChild: _angular_core.Signal | undefined>; itemsViewChild: _angular_core.Signal | undefined>; scroller: _angular_core.Signal; lastHiddenFocusableElementOnOverlay: _angular_core.Signal | undefined>; firstHiddenFocusableElementOnOverlay: _angular_core.Signal | undefined>; headerCheckboxViewChild: _angular_core.Signal; footerFacet: _angular_core.Signal