/**
* @license
*
* Copyright IBM Corp. 2019, 2024
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import { TemplateResult } from 'lit';
import CDSComboBoxItem from '@carbon/web-components/es/components/combo-box/combo-box-item.js';
import CDSDropdown, { DROPDOWN_KEYBOARD_ACTION, DROPDOWN_TYPE, NAVIGATION_DIRECTION } from '@carbon/web-components/es/components/dropdown/dropdown.js';
import { DROPDOWN_COLOR_SCHEME, DROPDOWN_SIZE } from './defs';
export { DROPDOWN_COLOR_SCHEME, DROPDOWN_KEYBOARD_ACTION, DROPDOWN_SIZE, DROPDOWN_TYPE, NAVIGATION_DIRECTION, };
/**
* Combo box.
*
* @element c4d-combo-box
* @csspart text-input - The text input. Usage: `c4d-combo-box::part(text-input)`
* @csspart selection-button - The selection button. Usage: `c4d-combo-box::part(selection-button)`
* @fires cds-combo-box-beingselected
* The custom event fired before a combo box item is selected upon a user gesture.
* Cancellation of this event stops changing the user-initiated selection.
* @fires cds-combo-box-beingtoggled
* The custom event fired before the open state of this combo box is toggled upon a user gesture.
* Cancellation of this event stops the user-initiated toggling.
* @fires cds-combo-box-selected - The custom event fired after a combo box item is selected upon a user gesture.
* @fires cds-combo-box-toggled - The custom event fired after the open state of this combo box is toggled upon a user gesture.
*/
declare class C4DComboBox extends CDSDropdown {
/**
* The text content that should be set to the `` for filtering.
*/
protected _filterInputValue: string;
protected _shouldTriggerBeFocusable: boolean;
/**
* The selection button.
*/
private _selectionButtonNode;
/**
* The `` for filtering.
*/
protected _filterInputNode: HTMLInputElement;
/**
* @param item A combo box item.
* @returns `true` if the given combo box item matches the query text user types.
*/
protected _testItemWithQueryText(item: any): boolean;
/**
* The default item matching callback.
*
* @param item The combo box item.
* @param queryText The query text user types.
* @returns `true` if the given combo box item matches the given query text.
*/
protected _defaultItemMatches(item: CDSComboBoxItem, queryText: string): boolean;
/**
* Handles `input` event on the `` for filtering.
*/
protected _handleInput(): void;
protected _handleClickInner(event: MouseEvent): void;
protected _handleKeypressInner(event: KeyboardEvent): void;
/**
* Handles user-initiated clearing the `` for filtering.
*/
protected _handleUserInitiatedClearInput(): void;
protected _handleUserInitiatedSelectItem(item?: CDSComboBoxItem): void;
protected _renderLabel(): TemplateResult;
protected _renderFollowingLabel(): TemplateResult | void;
/**
* The `aria-label` attribute for the icon to clear selection.
*/
clearSelectionLabel: string;
/**
* The custom item matching callback.
*/
itemMatches: (item: CDSComboBoxItem, queryText: string) => boolean;
shouldUpdate(changedProperties: any): boolean;
updated(changedProperties: any): void;
static TRIGGER_KEYS: Set;
/**
* A selector that will return highlighted items.
*/
static get selectorItemHighlighted(): string;
/**
* A selector that will return combo box items.
*/
static get selectorItem(): string;
/**
* A selector that will return selected items.
*/
static get selectorItemSelected(): string;
/**
* The name of the custom event fired before this combo box item is being toggled upon a user gesture.
* Cancellation of this event stops the user-initiated action of toggling this combo box item.
*/
static get eventBeforeToggle(): string;
/**
* The name of the custom event fired after this combo box item is toggled upon a user gesture.
*/
static get eventToggle(): string;
/**
* The name of the custom event fired before a combo box item is selected upon a user gesture.
* Cancellation of this event stops changing the user-initiated selection.
*/
static get eventBeforeSelect(): string;
/**
* The name of the custom event fired after a a combo box item is selected upon a user gesture.
*/
static get eventSelect(): string;
}
export default C4DComboBox;
//# sourceMappingURL=combo-box.d.ts.map