import type { CSSResultGroup } from 'lit'; import SynergyElement from '../../internal/synergy-element.js'; import SynIcon from '../icon/icon.component.js'; /** * @summary Radios allow the user to select a single option from a group. * @documentation https://synergy-design-system.github.io/?path=/docs/components-syn-radio--docs * @status stable * @since 2.0 * * @dependency syn-icon * * @slot - The radio's label. * * @event syn-blur - Emitted when the control loses focus. * @event syn-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 SynRadio extends SynergyElement { static styles: CSSResultGroup; static dependencies: { 'syn-icon': typeof SynIcon; }; checked: boolean; protected hasFocus: boolean; /** The radio's value. When selected, the radio group will receive this value. */ value: string | number; /** * 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; /** Sets the radio to a readonly state. */ readonly: boolean; constructor(); connectedCallback(): void; private handleBlur; private handleClick; private handleFocus; private setInitialAttributes; handleCheckedChange(): void; handleDisabledChange(): void; render(): import("lit").TemplateResult<1>; }