import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { ConditionalSlotComponent } from "../../utils/conditionalSlot";
import { InteractiveComponent } from "../../utils/interactive";
import { LocalizedComponent } from "../../utils/locale";
import { T9nComponent } from "../../utils/t9n";
import { HeadingLevel } from "../functional/Heading";
import { Status } from "../interfaces";
import { BlockMessages } from "./assets/block/t9n";
/**
 * @slot - A slot for adding custom content.
 * @slot icon - A slot for adding a leading header icon with `calcite-icon`.
 * @slot control - A slot for adding a single HTML input element in a header.
 * @slot header-menu-actions - A slot for adding an overflow menu with `calcite-action`s inside a dropdown menu.
 */
export declare class Block implements ConditionalSlotComponent, InteractiveComponent, LocalizedComponent, T9nComponent {
  /**
   * When `true`, the component is collapsible.
   */
  collapsible: boolean;
  /**
   * When `true`, interaction is prevented and the component is displayed with lower opacity.
   */
  disabled: boolean;
  /**
   * When `true`, displays a drag handle in the header.
   */
  dragHandle: boolean;
  /**
   * The component header text.
   */
  heading: string;
  /**
   * Specifies the number at which section headings should start.
   */
  headingLevel: HeadingLevel;
  /**
   * When `true`, a busy indicator is displayed.
   */
  loading: boolean;
  /**
   * When `true`, expands the component and its contents.
   */
  open: boolean;
  /**
   * Displays a status-related indicator icon.
   */
  status: Status;
  /**
   * A description for the component, which displays below the heading.
   */
  description: string;
  /**
   * Made into a prop for testing purposes only
   *
   * @internal
   */
  messages: BlockMessages;
  /**
   * Use this property to override individual strings used by the component.
   */
  messageOverrides: Partial<BlockMessages>;
  onMessagesChange(): void;
  el: HTMLCalciteBlockElement;
  private guid;
  effectiveLocale: string;
  effectiveLocaleChange(): void;
  defaultMessages: BlockMessages;
  connectedCallback(): void;
  disconnectedCallback(): void;
  componentDidRender(): void;
  componentWillLoad(): Promise<void>;
  /**
   * Emits when the component's header is clicked.
   */
  calciteBlockToggle: EventEmitter<void>;
  onHeaderClick: () => void;
  renderScrim(): VNode[];
  renderIcon(): VNode[];
  renderTitle(): VNode;
  render(): VNode;
}
