import { EventEmitter } from '../../stencil-public-runtime';
import { type LabelPlacement } from '../../utils/constants';
/**
* @slot label - Content to be placed as the label, will override the label prop.
* @slot description - Content to be placed as the description, will override the description prop.
* @slot error-description - Content to be placed as the error description, will override the errorDescription prop.
*/
export declare class NvFieldradio {
el: HTMLNvFieldradioElement;
/****************************************************************************/
/**
* Adds a helpful hint message below the label
* @deprecated use description instead.
*/
readonly message: string;
/**
* Set the label placement to before the input
* @deprecated use labelPlacement instead.
*/
readonly labelBefore: boolean;
componentWillRender(): void;
/****************************************************************************/
/**
* Sets the ID for the radio button’s input element and the for attribute of
* the associated label. If no ID is provided, a random one will be
* automatically generated to ensure unique identification, facilitating
* proper label association and accessibility.
*/
readonly inputId: string;
/**
* Use this to assign a group name to your radio buttons. When you have
* multiple radio buttons with the same name, users will be able to select
* only one option within that group, making your forms more organized and
* user-friendly.
*/
readonly name: string;
/**
* Defines what data will be sent when the radio button is selected.
* This helps you identify which option the user has chosen in your form,
* ensuring accurate data collection. When the form is submitted, the data
* will consist of a name=value pair.
*/
readonly value: string;
/**
* Sets the text content that is rendered next to the input element of type
* radio. This label is essential for accessibility and user clarity, as it
* describes the purpose or option of the radio button.
*/
readonly label: string;
/**
* Defines the position of the label relative to the radio button.
*/
labelPlacement: `${LabelPlacement}`;
/**
* Adds a helpful hint message below the label. This description provides
* extra information or context about the radio button option, assisting users
* in making more informed choices.
*/
description: string;
/**
* Highlight the radio button with error styling. It helps users quickly
* identify which option needs attention, improving their form-filling
* experience by making issues more visible.
* @validator error
*/
readonly error: boolean;
/**
* A description that appears when there is an error related to the radio
* button.
* @validator message
*/
readonly errorDescription: string;
/**
* Controls whether the radio button is selected.
*/
checked: boolean;
/**
* Disables the radio button, making it un-selectable.
*/
readonly disabled: boolean;
/**
* Applies focus to the input field as soon as the component is mounted. This
* is equivalent to setting the native autofocus attribute on an
* element.
*/
readonly autofocus: boolean;
/****************************************************************************/
/**
* Emits when the checked state changes.
* @bind checked
*/
checkedChanged: EventEmitter;
/****************************************************************************/
/**
* Watches for changes to the checked state and emits the new value.
* @param {boolean} checked - The new value of the checked state.
*/
handleCheckedChange(checked: boolean): void;
/**
* Listens for the change event on the radio button input element and controls
* the checked state of the host elements.
* @param {Event} event - The change event.
*/
handleChange(event: Event): void;
/****************************************************************************/
render(): any;
}