import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { LocalizedComponent } from "../../utils/locale";
import { T9nComponent } from "../../utils/t9n";
import { Status } from "../interfaces";
import { BlockSectionMessages } from "./assets/block-section/t9n";
import { BlockSectionToggleDisplay } from "./interfaces";
/**
 * @slot - A slot for adding custom content.
 */
export declare class BlockSection implements LocalizedComponent, T9nComponent {
  /**
   * When `true`, expands the component and its contents.
   */
  open: boolean;
  /**
   * Displays a status-related indicator icon.
   */
  status: Status;
  /**
   * The component header text.
   */
  text: string;
  /**
   * Specifies the component's toggle display -
   *
   * `"button"` (selectable header), or
   *
   * `"switch"` (toggle switch).
   */
  toggleDisplay: BlockSectionToggleDisplay;
  /**
   * Made into a prop for testing purposes only
   *
   * @internal
   */
  messages: BlockSectionMessages;
  /**
   * Use this property to override individual strings used by the component.
   */
  messageOverrides: Partial<BlockSectionMessages>;
  onMessagesChange(): void;
  el: HTMLCalciteBlockSectionElement;
  private guid;
  effectiveLocale: string;
  effectiveLocaleChange(): void;
  defaultMessages: BlockSectionMessages;
  /**
   * Emits when the header has been clicked.
   */
  calciteBlockSectionToggle: EventEmitter<void>;
  handleHeaderKeyDown: (event: KeyboardEvent) => void;
  toggleSection: () => void;
  connectedCallback(): void;
  disconnectedCallback(): void;
  componentWillLoad(): Promise<void>;
  renderStatusIcon(): VNode[];
  render(): VNode;
}
