import { type PropertyDeclarations } from 'lit'; import { ElementSlug } from '../../definitions/enums.js'; import type { SelectButtonElementEventMap, SelectClearElementEventMap, SelectElementEventMap, SelectGroupElementEventMap, SelectInputElementEventMap, SelectListElementEventMap, SelectOptionElementEventMap, SelectOptionRemoveElementEventMap } from '../../definitions/events.js'; import type { QueryDeclarations } from '../../definitions/interfaces.js'; import type { GetSelectOptionLabel, GetSelectOptionValue } from '../../definitions/types.js'; import { AracnaAriaComboBoxButtonElement as AriaComboBoxButtonElement, AracnaAriaComboBoxClearElement as AriaComboBoxClearElement, AracnaAriaComboBoxElement as AriaComboBoxElement, AracnaAriaComboBoxGroupElement as AriaComboBoxGroupElement, AracnaAriaComboBoxInputElement as AriaComboBoxInputElement, AracnaAriaComboBoxListElement as AriaComboBoxListElement, AracnaAriaComboBoxOptionElement as AriaComboBoxOptionElement, AracnaAriaComboBoxOptionRemoveElement as AriaComboBoxOptionRemoveElement } from '../aria/aria-combo-box-element.js'; declare global { interface HTMLElementTagNameMap { 'aracna-select': SelectElement; 'aracna-select-button': SelectButtonElement; 'aracna-select-clear': SelectClearElement; 'aracna-select-group': SelectGroupElement; 'aracna-select-input': SelectInputElement; 'aracna-select-list': SelectListElement; 'aracna-select-option': SelectOptionElement; 'aracna-select-option-remove': SelectOptionRemoveElement; } } declare class SelectElement extends AriaComboBoxElement { /** * Properties */ /** */ getOptionLabel: GetSelectOptionLabel; getOptionValue: GetSelectOptionValue; options?: T[]; placeholder?: string; /** * Queries */ selectOptionElements: HTMLOptionElement[]; connectedCallback(): void; attributeChangedCallback(name: string, _old: string | null, value: string | null): void; disconnectedCallback(): void; setSelectElementAttributes: () => void; blur(): void; focus(options?: FocusOptions): void; onChange: () => void; clear(): void; removeOption(option: T): void; get slug(): ElementSlug; static properties: PropertyDeclarations; static queries: QueryDeclarations; } declare class SelectGroupElement extends AriaComboBoxGroupElement { get slug(): ElementSlug; } declare class SelectButtonElement extends AriaComboBoxButtonElement { get slug(): ElementSlug; static queries: QueryDeclarations; } declare class SelectInputElement extends AriaComboBoxInputElement { get slug(): ElementSlug; static queries: QueryDeclarations; } declare class SelectListElement extends AriaComboBoxListElement { get slug(): ElementSlug; static queries: QueryDeclarations; } declare class SelectOptionElement extends AriaComboBoxOptionElement { /** * Properties */ /** */ headline?: string; leadingIcon?: string; leadingImage?: string; leadingText?: string; text?: string; trailingIcon?: string; trailingImage?: string; trailingText?: string; get label(): string | undefined; set label(label: string | undefined); get slug(): ElementSlug; static properties: PropertyDeclarations; static queries: QueryDeclarations; } declare class SelectOptionRemoveElement extends AriaComboBoxOptionRemoveElement { get slug(): ElementSlug; static queries: QueryDeclarations; } declare class SelectClearElement extends AriaComboBoxClearElement { get slug(): ElementSlug; static queries: QueryDeclarations; } export { SelectButtonElement as AracnaSelectButtonElement, SelectClearElement as AracnaSelectClearElement, SelectElement as AracnaSelectElement, SelectGroupElement as AracnaSelectGroupElement, SelectInputElement as AracnaSelectInputElement, SelectListElement as AracnaSelectListElement, SelectOptionElement as AracnaSelectOptionElement, SelectOptionRemoveElement as AracnaSelectOptionRemoveElement };