import { VNode } from "../../stencil-public-runtime";
import { InteractiveComponent } from "../../utils/interactive";
import { LoadableComponent } from "../../utils/loadable";
import { Appearance, Kind, Scale } from "../interfaces";
export declare class Fab implements InteractiveComponent, LoadableComponent {
  /**
   * Specifies the appearance style of the component.
   */
  appearance: Extract<"solid" | "outline-fill", Appearance>;
  /**
   * Specifies the kind of the component (will apply to border and background).
   */
  kind: Extract<"brand" | "danger" | "inverse" | "neutral", Kind>;
  /**
   * When `true`, interaction is prevented and the component is displayed with lower opacity.
   */
  disabled: boolean;
  /**
   * Specifies an icon to display.
   *
   * @default "plus"
   */
  icon: string;
  /** When `true`, the icon will be flipped when the element direction is right-to-left (`"rtl"`). */
  iconFlipRtl: boolean;
  /**
   * Accessible name for the component.
   */
  label: string;
  /**
   * When `true`, a busy indicator is displayed.
   */
  loading: boolean;
  /**
   * Specifies the size of the component.
   */
  scale: Scale;
  /**
   * Specifies text to accompany the component's icon.
   */
  text: string;
  /**
   * When `true`, displays the `text` value in the component.
   */
  textEnabled: boolean;
  el: HTMLCalciteFabElement;
  private buttonEl;
  connectedCallback(): void;
  componentWillLoad(): void;
  componentDidLoad(): void;
  componentDidRender(): void;
  disconnectedCallback(): void;
  /** Sets focus on the component. */
  setFocus(): Promise<void>;
  render(): VNode;
}
