import { VNode } from "../../stencil-public-runtime";
import { ConditionalSlotComponent } from "../../utils/conditionalSlot";
/**
 * @slot - A slot for adding custom content. This content will appear between any leading and trailing panels added to the component, such as a map.
 * @slot header - A slot for adding header content. This content will be positioned at the top of the component.
 * @slot footer - A slot for adding footer content. This content will be positioned at the bottom of the component.
 * @slot panel-start - A slot for adding the starting `calcite-shell-panel`.
 * @slot panel-end - A slot for adding the ending `calcite-shell-panel`.
 * @slot panel-top - A slot for adding the top `calcite-shell-center-row`.
 * @slot panel-bottom - A slot for adding the bottom `calcite-shell-center-row`.
 * @slot center-row - [Deprecated] Use the `"panel-bottom"` slot instead. A slot for adding the bottom `calcite-shell-center-row`.
 * @slot modals - A slot for adding `calcite-modal` components. When placed in this slot, the modal position will be constrained to the extent of the shell.
 * @slot alerts - A slot for adding `calcite-alert` components. When placed in this slot, the alert position will be constrained to the extent of the shell.
 */
export declare class Shell implements ConditionalSlotComponent {
  /**
   * Positions the center content behind any `calcite-shell-panel`s.
   */
  contentBehind: boolean;
  el: HTMLCalciteShellElement;
  hasHeader: boolean;
  hasFooter: boolean;
  hasAlerts: boolean;
  hasModals: boolean;
  connectedCallback(): void;
  disconnectedCallback(): void;
  handleHeaderSlotChange: (event: Event) => void;
  handleFooterSlotChange: (event: Event) => void;
  handleAlertsSlotChange: (event: Event) => void;
  handleModalsSlotChange: (event: Event) => void;
  renderHeader(): VNode;
  renderFooter(): VNode;
  renderAlerts(): VNode;
  renderModals(): VNode;
  renderContent(): VNode[];
  renderMain(): VNode;
  renderPositionedSlots(): VNode;
  render(): VNode;
}
