import { EventEmitter } from "../../stencil-public-runtime";
import { IcAdditionalFieldTypes, IcThemeMode, IcValueEventDetail } from "../../utils/types";
/**
 * @slot additional-field - Content to displayed alongside a radio option.
 */
export declare class RadioOption {
    private defaultRadioValue;
    private hasAdditionalField;
    private radioElement?;
    private skipFocus;
    el: HTMLIcRadioOptionElement;
    /**
     * The style of additionalField that will be displayed if used.
     */
    additionalFieldDisplay?: IcAdditionalFieldTypes;
    /**
     * If `true`, the disabled state will be set.
     */
    disabled?: boolean;
    watchDisabledHandler(): void;
    /**
     * The text to be displayed when dynamic.
     */
    dynamicText?: string;
    /**
     * The <form> element to associate the radio with.
     */
    form?: string;
    /**
     * The group label for the radio option.
     */
    groupLabel?: string;
    /**
     * The label for the radio option.
     */
    label?: string;
    /**
     * The name for the radio option.
     */
    name?: string;
    /**
     * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
     */
    theme?: IcThemeMode;
    /**
     * The value for the radio option.
     */
    value: string;
    /**
     * If `true`, the radio option will be displayed in a selected state.
     */
    selected?: boolean;
    initiallySelected: boolean | undefined;
    watchSelectedHandler(): void;
    /**
     * Emitted when the radio option is selected.
     */
    icCheck: EventEmitter<IcValueEventDetail>;
    handleCheck(ev: CustomEvent<IcValueEventDetail>): void;
    /**
     * Emitted when the radio option is selected or deselected.
     */
    icSelectedChange: EventEmitter<void>;
    disconnectedCallback(): void;
    componentWillLoad(): void;
    componentDidLoad(): void;
    componentWillRender(): void;
    componentDidRender(): void;
    additionalFieldValueHandler(event: CustomEvent<{
        value: string;
    }>): void;
    /**
     * Sets focus on the radio option.
     */
    setFocus(): Promise<void>;
    /**
     * @internal Sets the tabIndex of the radio option.
     */
    setTabIndex(value: number): Promise<void>;
    private getAdditionalField;
    private handleClick;
    private handleKeyDown;
    private handleFormReset;
    render(): any;
}
