import type { Select } from '..'; import { type ListOption } from '../../list-option'; /** * Page object for the `nimble-select` component to provide consistent ways * of querying and interacting with the component during tests. */ export declare class SelectPageObject { protected readonly selectElement: Select; constructor(selectElement: Select); openAndSetFilterText(filterText: string): Promise; closeDropdown(): Promise; setOptions(options: ListOption[]): Promise; getFilteredOptions(): ListOption[]; getSelectedOption(): ListOption | null; getActiveOption(): ListOption | null; getDisplayText(): string; getGroupLabels(): string[]; getGroupOptionLabelsByIndex(groupIndex: number): string[]; getGroupOptionLabelsByLabel(groupLabel: string): string[]; /** * Gets the label text of the element * @returns The current slotted label text, if any */ getLabelText(): string; /** * Either opens or closes the dropdown depending on its current state */ clickSelect(): void; clickActiveItem(): void; clickFilterInput(): Promise; /** * Selects an option using an index value into the list of visible options. * Options that have the `hidden` or `visuallyHidden` attribute set to true * are not considered visible. * @param index The index of the option in the visible set to be selected * @remarks Prefer clickOptionWithDisplayText where possible. This method is * useful when the display text is not unique and the index is known. */ clickOption(index: number): void; /** * Click the option with the text provided by the 'displayText' parameter. * @param value The text of the option to be selected * @remarks This method is useful when the display text is unique. If the * display text is not unique, the first option with the matching text will * be selected. */ clickOptionWithDisplayText(displayText: string): void; clickClearButton(): void; clickAway(): Promise; pressEnterKey(): void; pressEscapeKey(): void; pressTabKey(): void; pressArrowDownKey(): void; pressArrowUpKey(): void; pressCharacterKey(character: string): void; pressSpaceKey(): Promise; /** * This method will set the filter input value to the provided text, which * will result in the synchronous dispatch of the 'filter-input' event. The * dropdown must be open for this method to work. * @param filterText */ setFilter(filterText: string): void; /** * This method will clear any present filter text, which will result in the * synchronous dispatch of the 'filter-input' event. The dropdown must be * open for this method to work. */ clearFilter(): void; isDropdownVisible(): boolean; isClearButtonVisible(): boolean; isFilterInputVisible(): boolean; isOptionVisible(index: number): boolean; isNoResultsLabelVisible(): boolean; isLoadingVisualVisible(): boolean; getFilterInputText(): string; private getVisibleOptions; private getFilterInput; private getClearButton; }