import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { Layout, Scale } from "../interfaces";
import { LoadableComponent } from "../../utils/loadable";
/**
 * @slot - A slot for adding `calcite-radio-button`s.
 */
export declare class RadioButtonGroup implements LoadableComponent {
  el: HTMLCalciteRadioButtonGroupElement;
  /** When `true`, interaction is prevented and the component is displayed with lower opacity. */
  disabled: boolean;
  onDisabledChange(): void;
  /** When `true`, the component is not displayed and its `calcite-radio-button`s are not focusable or checkable. */
  hidden: boolean;
  onHiddenChange(): void;
  /** Defines the layout of the component. */
  layout: Layout;
  onLayoutChange(): void;
  /** Specifies the name of the component on form submission. Must be unique to other component instances. */
  name: string;
  /** When `true`, the component must have a value in order for the form to submit. */
  required: boolean;
  /**
   * Specifies the component's selected item.
   *
   * @readonly
   */
  selectedItem: HTMLCalciteRadioButtonElement;
  /** Specifies the size of the component. */
  scale: Scale;
  onScaleChange(): void;
  mutationObserver: import("../../utils/observers").ExtendedMutationObserver;
  radioButtons: HTMLCalciteRadioButtonElement[];
  connectedCallback(): void;
  componentWillLoad(): void;
  componentDidLoad(): void;
  disconnectedCallback(): void;
  private passPropsToRadioButtons;
  private getFocusableRadioButton;
  /**
   * Fires when the component has changed.
   */
  calciteRadioButtonGroupChange: EventEmitter<void>;
  /** Sets focus on the fist focusable `calcite-radio-button` element in the component. */
  setFocus(): Promise<void>;
  radioButtonChangeHandler(event: CustomEvent): void;
  render(): VNode;
}
