import { EventEmitter } from '../../stencil-public-runtime'; /** * Radio Buttons are graphical interface elements that allow user to choose * only one of a predefined set of mutually exclusive options. * * @slot hint - Optional hint element to be displayed with the radio. * @slot label - The slotted label. If both the label property and the label slot are present, only the label slot will be displayed. * @part label - The label content. * @part input - The native input element. */ export declare class CatRadio { private readonly _id; private get id(); private input; hostElement: HTMLElement; hasSlottedLabel: boolean; hasSlottedHint: boolean; /** * Whether this radio is checked. */ checked: boolean; /** * Whether this radio is disabled. */ disabled: boolean; /** * A unique identifier for the input. */ identifier?: string; /** * The label of the radio that is visible. */ label: string; /** * Visually hide the label, but still show it to assistive technologies like screen readers. */ labelHidden: boolean; /** * The name of the radio component. */ name?: string; /** * Whether the radio is required. */ required: boolean; /** * The value of the radio component. */ value: any; /** * Optional hint text(s) to be displayed with the radio. */ hint?: string | string[]; /** * Whether the label should appear to the left of the radio component. */ labelLeft: boolean; /** * The alignment of the checkbox. */ alignment: 'center' | 'top' | 'bottom'; /** * Attributes that will be added to the native HTML input element. */ nativeAttributes?: { [key: string]: string; }; /** * A unique identifier for the underlying native element that is used for * testing purposes. The attribute is added as `data-test` attribute and acts * as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`. */ testId?: string; /** * Emitted when the radio is changed. */ catChange: EventEmitter; /** * Emitted when the radio received focus. */ catFocus: EventEmitter; /** * Emitted when the radio loses focus. */ catBlur: EventEmitter; componentWillRender(): void; /** * Programmatically move focus to the radio button. Use this method instead of * `input.focus()`. * * @param options An optional object providing options to control aspects of * the focusing process. */ doFocus(options?: FocusOptions): Promise; /** * Programmatically remove focus from the radio button. Use this method * instead of `input.blur()`. */ doBlur(): Promise; render(): any; private get hasHint(); private onInput; private onFocus; private onBlur; }