/** Shape of an option passed via the `options` property. */ export interface DtSelectOption { value: string; label: string; } export type DtSelectAlign = 'left' | 'right'; /** * `` — framework-agnostic select/dropdown web component. * * Uses Shadow DOM for the trigger button and appends the dropdown menu to * `document.body` so it can escape overflow/clip ancestors. * * ## Attributes * - `value` — the currently selected option value * - `placeholder` — text shown when no value is selected (default "Select...") * - `disabled` — when present, interaction is suppressed * - `align` — horizontal alignment of the popup relative to the trigger: * "left" (default) or "right" * * ## Properties * - `options` — `Array<{ value: string; label: string }>` set via JS * * ## Events * - `dt-change` — fired when the user selects an option; `detail.value` is * the selected value * * ## Usage * ```html * * * ``` */ export declare class DtSelect extends HTMLElement { private _menu; private _trigger; private _options; private _open; private _menuId; static get observedAttributes(): string[]; get value(): string; set value(val: string); get placeholder(): string; set placeholder(val: string); get disabled(): boolean; set disabled(val: boolean); get align(): DtSelectAlign; set align(val: DtSelectAlign); get options(): DtSelectOption[]; set options(val: DtSelectOption[]); constructor(); connectedCallback(): void; disconnectedCallback(): void; attributeChangedCallback(name: string): void; private _updateLabel; private _onTriggerClick; private _openMenu; private _close; private _onOutsideClick; private _onWindowBlur; private _onKeyDown; private _renderMenuItems; private _selectValue; private _position; } //# sourceMappingURL=dt-select.d.ts.map