/** * @license * Copyright 2023 Nuraly, Laabidi Aymen * SPDX-License-Identifier: MIT */ import { LitElement } from 'lit'; import { RadioSize } from './radio.types.js'; declare const NrRadioElement_base: (new (...args: any[]) => import("@nuralyui/common/mixins").DependencyAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").ThemeAware) & (new (...args: any[]) => import("@nuralyui/common/mixins").EventHandlerCapable) & (new (...args: any[]) => import("packages/common/src/shared/base-mixin.js").LightDomContent) & typeof LitElement; /** * A simple radio button component that can be used standalone or within a form. * For grouped radio buttons with more features, use nr-radio-group instead. * * @example * ```html * Option 1 * Option 2 * Option 3 * ``` * * @fires nr-change - Dispatched when the radio button is selected * @fires nr-focus - Dispatched when the radio button receives focus * @fires nr-blur - Dispatched when the radio button loses focus * * @slot default - Radio button label content * * @csspart wrapper - The root wrapper div containing the input, circle, and label * @csspart input - The native radio input element * @csspart circle - The visual custom radio circle indicator * @csspart label - The span wrapping the slot label text */ export declare class NrRadioElement extends NrRadioElement_base { static styles: import("lit").CSSResult; static useShadowDom: boolean; requiredComponents: string[]; /** Whether the radio button is checked */ checked: boolean; /** Whether the radio button is disabled */ disabled: boolean; /** Radio button size (small, medium, large) */ size: RadioSize; /** Form field name - used to group radio buttons */ name: string; /** Form field value */ value: string; /** Radio button ID */ id: string; /** Tab index */ tabIndex: number; /** Whether the radio button is required */ required: boolean; private get inputElement(); connectedCallback(): void; disconnectedCallback(): void; private _handleClick; private _handleInputChange; private _handleFocus; private _handleBlur; private _uncheckSiblings; private _dispatchChangeEvent; /** * Sets focus on the radio button */ focus(): void; /** * Removes focus from the radio button */ blur(): void; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'nr-radio': NrRadioElement; } } export {}; //# sourceMappingURL=radio.component.d.ts.map