import { LitElement } from 'lit'; export interface SelectOption { value: string; text: string; disabled?: boolean; } /** * USA Select Web Component * * A simple, accessible USWDS select implementation as a custom element. * Uses official USWDS classes and styling with minimal custom code. * * @element usa-select * * @attr {string} name - Select name for form submission. * @attr {string} value - Currently selected value. * @attr {string} label - Label text displayed above the select. * @attr {string} hint - Helper text displayed below the label. * @attr {string} error - Error message displayed in red below the select. * @attr {string} success - Success message displayed in green below the select. * @attr {boolean} disabled - Whether the select is disabled. * @attr {boolean} required - Whether the select is required. * @attr {string} defaultOption - Placeholder text for default empty option. * @attr {boolean} compact - Render without form-group wrapper for use in patterns. * * @prop {Array<{value: string, text: string, disabled?: boolean}>} options - Array of select options. * * @fires change - Dispatched when the select value changes * @fires input - Dispatched when the select value changes (for consistency) * * @example * ```html * * * * * * * * * * * * ``` * * @see README.mdx - Complete API documentation, usage examples, and implementation notes * @see CHANGELOG.mdx - Component version history and breaking changes * @see TESTING.mdx - Testing documentation and coverage reports * * @uswds-css-reference https://github.com/uswds/uswds/tree/develop/packages/usa-select/src/styles/_usa-select.scss * @uswds-docs https://designsystem.digital.gov/components/select/ * @uswds-guidance https://designsystem.digital.gov/components/select/#guidance * @uswds-accessibility https://designsystem.digital.gov/components/select/#accessibility */ export declare class USASelect extends LitElement { private _selectId; static styles: import('lit').CSSResult; name: string; value: string; label: string; hint: string; error: string; success: string; disabled: boolean; required: boolean; options: Array<{ value: string; text: string; disabled?: boolean; }>; defaultOption: string; /** * Whether to render in compact mode (no form-group wrapper) * Use this when the select is inside a fieldset or pattern where * the parent handles spacing and grouping */ compact: boolean; private selectElement?; protected createRenderRoot(): HTMLElement; connectedCallback(): void; firstUpdated(): void; updated(_changedProperties: Map): void; private updateSelectElement; private handleChange; /** * Public API: Reset select to empty value * Allows patterns to clear the select without DOM manipulation */ reset(): void; private get selectId(); private renderLabel; private renderRequiredIndicator; private renderHint; private renderError; private renderSuccess; private renderDefaultOption; private renderOption; render(): import('lit-html').TemplateResult<1>; } //# sourceMappingURL=usa-select.d.ts.map