import { VNode } from "../../stencil-public-runtime";
import { InteractiveComponent } from "../../utils/interactive";
import { LoadableComponent } from "../../utils/loadable";
import { LocalizedComponent } from "../../utils/locale";
import { T9nComponent } from "../../utils/t9n";
import { Alignment, Appearance, Scale } from "../interfaces";
import { ActionMessages } from "./assets/action/t9n";
/**
 * @slot - A slot for adding a `calcite-icon`.
 */
export declare class Action implements InteractiveComponent, LocalizedComponent, T9nComponent, LoadableComponent {
  /**
   * When `true`, the component is highlighted.
   */
  active: boolean;
  /**
   * Specifies the horizontal alignment of button elements with text content.
   */
  alignment: Alignment;
  /** Specifies the appearance of the component. */
  appearance: Extract<"solid" | "transparent", Appearance>;
  /**
   * When `true`, the side padding of the component is reduced. Compact mode is used internally by components, e.g. `calcite-block-section`.
   */
  compact: boolean;
  /**
   * When `true`, interaction is prevented and the component is displayed with lower opacity.
   */
  disabled: boolean;
  /** Specifies an icon to display. */
  icon: string;
  /** When `true`, the icon will be flipped when the element direction is right-to-left (`"rtl"`). */
  iconFlipRtl: boolean;
  /**
   * When `true`, displays a visual indicator.
   */
  indicator: boolean;
  /**
   * Specifies the label of the component. If no label is provided, the label inherits what's provided for the `text` prop.
   */
  label: string;
  /**
   * When `true`, a busy indicator is displayed.
   */
  loading: boolean;
  /**
   * Specifies the size of the component.
   */
  scale: Scale;
  /**
   * Specifies text that accompanies the icon.
   */
  text: string;
  /**
   * Indicates whether the text is displayed.
   */
  textEnabled: boolean;
  /**
   * Made into a prop for testing purposes only
   *
   * @internal
   */
  messages: ActionMessages;
  /**
   * Use this property to override individual strings used by the component.
   */
  messageOverrides: Partial<ActionMessages>;
  onMessagesChange(): void;
  el: HTMLCalciteActionElement;
  buttonEl: HTMLButtonElement;
  mutationObserver: import("../../utils/observers").ExtendedMutationObserver;
  effectiveLocale: string;
  effectiveLocaleChange(): void;
  defaultMessages: ActionMessages;
  guid: string;
  indicatorId: string;
  buttonId: string;
  connectedCallback(): void;
  componentWillLoad(): Promise<void>;
  componentDidLoad(): void;
  disconnectedCallback(): void;
  componentDidRender(): void;
  /** Sets focus on the component. */
  setFocus(): Promise<void>;
  renderTextContainer(): VNode;
  renderIndicatorText(): VNode;
  renderIconContainer(): VNode;
  render(): VNode;
  handleTooltipSlotChange: (event: Event) => void;
}
