import { Alignment } from '../types';
import { CheckableFormCompoment } from '../../utils';
/** @slot - A slot for adding text and a component that can be labeled. */
export declare class Radio implements CheckableFormCompoment {
  /** hidden input element */
  hiddenInput: HTMLInputElement;
  /** initial render status */
  private isInitialRender;
  private radioGroup;
  /** toggle element */
  private toggleEl;
  private onClick;
  private onKeyDown;
  host: HTMLAbdsRadioElement;
  /** aligns input and label */
  alignment: Alignment;
  /** host's checked state */
  checked: boolean;
  /** disables radio from interaction */
  disabled: boolean;
  /** host's name */
  name: string;
  /** sets radio as required, validation to be implemented by user */
  required: boolean;
  /** optional tooltip string will cause tooltip icon to be shown */
  tooltip: string;
  /** value to be submitted to form if selected */
  value: string;
  /**
   * Sets blur on `abds-radio`
   * @internal
   */
  setBlur(): Promise<void>;
  /**
   * Sets focus on native `input` in `abds-radio`
   * @internal
   */
  setFocus(): Promise<void>;
  componentWillLoad(): void;
  componentDidRender(): void;
  connectedCallback(): void;
  disconnectedCallback(): void;
  render(): any;
}
