import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit'; import { Context } from '@lit/context'; import { TextField, TextFieldVariant } from '../text-field/text-field.ts'; import { MdOption } from './option.ts'; import { MdOptGroup } from './group.ts'; import { MdHr } from './hr.ts'; export type ContextSelect = Context void; }>; export declare const selectContext: ContextSelect; /** * @tag md-select * @summary Material Select web component */ type MenuElementItem = MdOption | MdOptGroup | MdHr; type MenuItem = { type: "option" | "optgroup" | "hr"; element: MenuElementItem; children: MenuItem[]; }; declare const internals: unique symbol; export default class Select extends LitElement { textField: TextField | null; select: HTMLSelectElement; firstOptionValue: string; static readonly formAssociated = true; [internals]: ElementInternals; static shadowRootOptions: ShadowRootInit; options: MenuItem[]; constructor(); static get styles(): CSSResultGroup; get form(): HTMLFormElement | null; disabled: boolean; value: string | undefined; required: boolean; name: string; label: string; /** * The variant style of the textField. */ variant: TextFieldVariant; multiple: boolean; size: number; menu: (MdOption | MdOptGroup | MdHr)[]; protected firstUpdated(_changedProperties: PropertyValues): void; formResetCallback(): void; setValue(value: string): void; handleChange(event: Event): void; private collectFirstOptionValue; private convertAndMoveOptions; private updateSlottedOptions; private renderMenu; render(): TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { "md-select": Select; } } export {};