import NebulaElement from '../../internal/nebula-element.js'; import NuIcon from '../icon/icon.component.js'; import type { CSSResultGroup } from 'lit'; /** * @summary Radios allow the user to select a single option from a group. * @documentation https://nebulaui.org/components/radio * @status stable * @since 2.0 * * @dependency sl-icon * * @slot - The radio's label. * * @event nu-blur - Emitted when the control loses focus. * @event nu-focus - Emitted when the control gains focus. * * @csspart base - The component's base wrapper. * @csspart control - The circular container that wraps the radio's checked state. * @csspart control--checked - The radio control when the radio is checked. * @csspart checked-icon - The checked icon, an `` element. * @csspart label - The container that wraps the radio's label. */ export default class NuRadio extends NebulaElement { static styles: CSSResultGroup; static dependencies: { 'nu-icon': typeof NuIcon; }; checked: boolean; protected hasFocus: boolean; /** The radio's value. When selected, the radio group will receive this value. */ value: string; /** * The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this * attribute can typically be omitted. */ size: 'small' | 'medium' | 'large'; /** Disables the radio. */ disabled: boolean; constructor(); connectedCallback(): void; private handleBlur; private handleClick; private handleFocus; private setInitialAttributes; handleCheckedChange(): void; handleDisabledChange(): void; render(): import("lit").TemplateResult<1>; }