import { VegaSlimmer } from '../../../vega-slimmer/vega-slimmer-core';
import { Nullable } from '../../../types/general';
import { ElementAppenderShowConfig } from '../../ui/element-appender';
import { ElementAppenderSlimmer } from './element-appender-slimmer';
/**
 * Dynamically add parents and children of nest element appender while it show or hide.
 */
export declare class ElementAppenderHierarchyTreeManager extends VegaSlimmer {
  showConfig: Nullable<ElementAppenderShowConfig>;
  private parentEA;
  private childrenEA;
  private currentEA;
  /**
   * Listen current element appender did load.
   */
  componentDidLoad(): void;
  constructor(currentEA: ElementAppenderSlimmer);
  /**
   * Listen current element appender show.
   */
  onShow(): void;
  /**
   * Listen current element appender hide.
   */
  onHide(): void;
  /**
   * Get current parent of element appender.
   *
   * @returns {Nullable<ElementAppenderSlimmer>} - parent.
   */
  getParent(): Nullable<ElementAppenderSlimmer>;
  /**
   * Get current children of element appender.
   *
   * @returns {ElementAppenderSlimmer[]} - children.
   */
  getChildren(): ElementAppenderSlimmer[];
  /**
   * While current element appender show or hide we should notify nest element appender to add or remove chain.
   *
   * @param {NestEANotifyType} type - Notify type.
   */
  private notify;
  /**
   * Add a change manager to observer the nest element appender show or hide.
   */
  private register;
}
