/**
* @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