import { EventEmitter } from '../../stencil-public-runtime'; import { type ControlWidth } from '../../utils'; import { type ChoiceBackground, type ChoiceOption, type ChoiceSection } from '../../utils/choice-list'; export type SelectOption = ChoiceOption; export type SelectSection = ChoiceSection; export type SelectBackground = ChoiceBackground; export type SelectSize = 'lg' | 'md' | 'sm' | 'xs'; export type SelectWidth = ControlWidth; export type SelectPopupAlign = 'start' | 'end'; export type SelectValue = string | string[]; export type SelectIndicator = 'down' | 'up-down'; export interface SelectOptionActionDetail { value: string; anchorId: string; originalEvent: MouseEvent; } export interface SelectOptionSubtextActionDetail { value: string; actionValue: string; originalEvent: MouseEvent; } export declare class Select { el: HTMLElement; internals: ElementInternals; /** Flat choices. Assign arrays through the JavaScript property. */ options: SelectOption[]; /** Grouped choices; takes precedence over options. Assign through JavaScript. */ sections: SelectSection[]; /** Enable independent multi-value selection while keeping the popup open. */ multiple: boolean; /** Selected scalar or array value according to `multiple`. */ value: SelectValue; /** Controlled popup visibility. */ open: boolean; /** Native form field name. */ name: string | undefined; /** Native disabled state. */ disabled: boolean; /** Require one valid selected value. */ required: boolean; /** Validation message used when required is missing. */ requiredMessage: string; /** Trigger text shown when no valid value is selected. */ placeholder: string; /** Optional scalar-mode trigger text that does not change the selected option label. */ triggerLabel: string | undefined; /** Present triggerLabel with placeholder emphasis while preserving the selected value. */ triggerLabelPlaceholder: boolean; /** Show a supplemental notification dot beside the trigger label. */ dot: boolean; /** Control density. */ size: SelectSize; /** Width fit — hug content (default) or fill the parent. */ width: SelectWidth; /** Align the popup's choice edge to the trigger start or end edge. */ popupAlign: SelectPopupAlign; /** Shared inactive treatment; removes interaction and form submission. */ isInactive: boolean; /** Replace the prefix with a loader and disable option interaction. */ isLoading: boolean; /** Show the selected interaction fill when a valid value exists. */ activeFill: boolean; /** * Opt into table-caption icon-only chrome below 900px. The trigger omits its * visible label and chevron; keep an accessible name via aria-label. */ collapseLabel: boolean; /** Show the surface-aware inset border, including focused and invalid strokes. */ hasBorder: boolean; /** Optional trigger prefix icon name. */ icon: string | undefined; /** Trailing choice indicator. Use up-down for compact value steppers such as page size. */ indicator: SelectIndicator; /** Show the clear footer action when a value exists. */ allowClear: boolean; /** Localized clear action label. */ clearLabel: string; /** Localized noun displayed after the selected count in multiple mode. */ selectedLabel: string; /** Optional text action shown in the popup footer instead of the clear action. */ footerActionLabel: string | undefined; /** Show immediate local filtering over option labels, subtext, and section headings. */ searchable: boolean; /** Localized search-field placeholder and accessible name. */ searchPlaceholder: string; /** Localized empty-filter result text. */ noResultsText: string; /** Accessible loading status label. */ loadingLabel: string; /** Actual parent surface context; omit on primary and secondary surfaces. */ background: SelectBackground | undefined; /** Show invalid visual state. */ error: boolean; /** Error text rendered below the trigger when error is true. */ errorMessage: string | undefined; /** ID applied to the internal combobox trigger for external labels. */ inputId: string | undefined; /** Direct accessible name when no external label is available. */ ariaLabel: string | null; /** IDs of elements that label the combobox. */ ariaLabelledby: string | undefined; /** Additional IDs that describe the combobox. */ ariaDescribedby: string | undefined; /** Emitted after selection or clearing with the next scalar or array value. */ dsChange: EventEmitter; /** Emitted after the footer clear action. */ dsClear: EventEmitter; /** Emitted whenever popup visibility changes. */ dsOpenChange: EventEmitter; /** Emitted when the optional popup footer action is activated. */ dsFooterAction: EventEmitter; /** Emitted when an option's contextual ellipsis action is activated. */ dsOptionAction: EventEmitter; /** Emitted when an option's supporting text action is activated. */ dsOptionSubtextAction: EventEmitter; private activeIndex; private searchTerm; private formDisabled; private position; private positionReady; private focusRingVisible; private compactFooterSummary; private captionCompact; private readonly generatedId; private readonly listboxId; private readonly errorId; private initialValue; private readonly controller; private footerContentElement?; private footerSummaryMeasureElement?; private footerClearElement?; private footerResizeObserver?; private observedFooterContentElement?; private footerMeasurementFrame?; private captionCompactDisconnect; private hasLoaded; private createController; componentWillLoad(): void; componentDidLoad(): void; connectedCallback(): void; componentDidRender(): void; disconnectedCallback(): void; onCollapseLabelChange(): void; syncFormValue(): void; onLoadingChange(): void; onPopupAlignChange(): void; onOpenChange(open: boolean): void; onSearchTermChange(): void; onActiveIndexChange(): void; formDisabledCallback(disabled: boolean): void; formResetCallback(): void; formStateRestoreCallback(state: string | File | FormData | null): void; setFocus(): Promise; private get isDisabled(); private normalizeValueForMode; private get allSections(); private get allOptions(); private get visibleSections(); private get visibleOptions(); private get scalarValue(); private get resolvedValues(); private get selectedOption(); private get hasSelection(); private get activeOptionId(); private get popupRole(); private observeFooterContent; private scheduleFooterSummaryMeasurement; private measureFooterSummary; private closePopup; private openPopup; private selectOption; private clearSelection; private activateFooterAction; private readonly handleListKeyDown; private readonly handleTriggerKeyDown; private renderOption; private get captionIconOnly(); private syncCaptionCompactObserver; private disconnectCaptionCompactObserver; render(): any; } //# sourceMappingURL=Select.d.ts.map