import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { Scale } from "../interfaces";
import { TabChangeEventDetail } from "./interfaces";
/**
 * @slot - A slot for adding custom content.
 */
export declare class Tab {
  el: HTMLCalciteTabElement;
  /**
   * Specifies a unique name for the component.
   *
   * When specified, use the same value on the `calcite-tab-title`.
   */
  tab: string;
  /**
   * When `true`, the component's contents are selected.
   *
   * Only one tab can be selected within the `calcite-tabs` parent.
   */
  selected: boolean;
  /**
   * @internal
   */
  scale: Scale;
  render(): VNode;
  connectedCallback(): void;
  componentDidLoad(): void;
  componentWillRender(): void;
  disconnectedCallback(): void;
  /**
   * @internal
   */
  calciteInternalTabRegister: EventEmitter<void>;
  internalTabChangeHandler(event: CustomEvent<TabChangeEventDetail>): void;
  /**
   * Returns the index of the component item within the tab array.
   */
  getTabIndex(): Promise<number>;
  parentTabsEl: HTMLCalciteTabsElement;
  guid: string;
  labeledBy: string;
  /**
   * @param tabIds
   * @param titleIds
   * @internal
   */
  updateAriaInfo(tabIds?: string[], titleIds?: string[]): Promise<void>;
}
