import { FoundationElement } from '@microsoft/fast-foundation'; import { Position } from '../multiselect'; export declare const foundationCategorizedMultiselectShadowOptions: ShadowRootInit; export declare const defaultCategorizedMultiselectConfig: {}; export type CategorizedMultiselectOption = { type: string; value: string; label: string; description?: string; disabled?: boolean; icon?: string; iconColor?: string; svg?: string; }; export type CategorizedMultiselectFilteredOption = { type: string; options: Omit; }; /** * @tagname %%prefix%%-categorized-multiselect * * @fires selectionChange - Fired when the selected options change */ export declare class CategorizedMultiselect extends FoundationElement { name: string; autoPosition: boolean; search: boolean; disabled: boolean; defaultSlottedNodes: Node[]; valueFormatter: any; filterSearchValue: string; private clickOutside; open: boolean; openChanged(previous: boolean, open: boolean): void; options: CategorizedMultiselectOption[]; selectedOptions: string[]; filteredAvailableOptions: CategorizedMultiselectFilteredOption[]; /** * Controls the positioning of the multiselect dropdown. Accepts the following values: * - Position.ABOVE: Forces the dropdown to always open above the input field. * - Position.BELOW: Forces the dropdown to always open below the input field. */ position: Position; optionsElement: HTMLElement; connectedCallback(): void; disconnectedCallback(): void; toggle(): void; sortFilteredOptions(options?: CategorizedMultiselectOption[]): CategorizedMultiselectFilteredOption[]; optionsChanged(): void; /** * Sets the dropdown position based on the current configuration. * @remarks * If `autoPosition` is `true`, this method calculates the available space above and below the input field in the viewport and positions the dropdown accordingly. * This ensures the dropdown is always visible to the user. If `autoPosition` is `false`, the dropdown position is locked to either 'above' or 'below', as specified by the `position` attribute. * This method is intended for internal use by the component and is marked as private. * @private */ private setDropdownPosition; optionGetter(option: CategorizedMultiselectOption): string; getItemLabel(option: CategorizedMultiselectOption): any; isOptionDisabled(option: CategorizedMultiselectOption): boolean; get getPlaceholder(): string; isOptionSelected(normalizedOption: CategorizedMultiselectOption): boolean; selectCheckboxOne(normalizedOption: CategorizedMultiselectOption): void; setFilter(): void; changeHandler(event: Event): void; private handleClickOutside; } export declare const foundationCategorizedMultiselect: (overrideDefinition?: import("@microsoft/fast-foundation").OverrideFoundationElementDefinition<{ baseName: string; template: import("@microsoft/fast-element").ViewTemplate; styles: import("@microsoft/fast-element").ElementStyles; shadowOptions: ShadowRootInit; }>) => import("@microsoft/fast-foundation").FoundationElementRegistry<{ baseName: string; template: import("@microsoft/fast-element").ViewTemplate; styles: import("@microsoft/fast-element").ElementStyles; shadowOptions: ShadowRootInit; }, typeof CategorizedMultiselect>; //# sourceMappingURL=categorized-multiselect.d.ts.map