import { SelectionContext } from "../../canvas/selection/selectionContext.js";
import * as lit11 from "lit";
import { LitElement, PropertyValues } from "lit";
import * as lit_html11 from "lit-html";

//#region src/gui/hierarchy/EFHierarchy.d.ts
declare const EFHierarchy_base: typeof LitElement;
declare class EFHierarchy extends EFHierarchy_base {
  static styles: lit11.CSSResult[];
  target: string;
  header: string;
  showHeader: boolean;
  hideSelectors?: string[];
  showSelectors?: string[];
  targetElement: Element | null;
  private targetController?;
  canvasSelectionContext?: SelectionContext;
  /**
   * Get the target canvas element.
   * The canvas is the source of truth for selection and highlight state.
   */
  private getCanvas;
  /**
   * Get canvas selection context from the target canvas element.
   * Used when hierarchy is a sibling of canvas (can't access via Lit context).
   */
  private getCanvasSelectionContext;
  /**
   * Get the currently highlighted element from the canvas.
   */
  getHighlightedElement(): HTMLElement | null;
  /**
   * Set the highlighted element on the canvas.
   * Called when user hovers an item in the hierarchy.
   */
  setHighlightedElement(element: HTMLElement | null): void;
  private hierarchyState;
  private selectionChangeHandler?;
  private hierarchyActions;
  private providedContext;
  private getTargetElement;
  private getRootElements;
  private initializeExpandedState;
  select(elementId: string | null): void;
  getSelectedElementId(): string | null;
  protected willUpdate(changedProperties: PropertyValues): void;
  connectedCallback(): void;
  disconnectedCallback(): void;
  protected updated(changedProperties: PropertyValues): void;
  /**
   * Auto-select the first root timegroup if nothing is currently selected
   */
  private autoSelectFirstRootTimegroup;
  private setupSelectionListener;
  private removeSelectionListener;
  render(): lit_html11.TemplateResult<1>;
}
declare global {
  interface HTMLElementTagNameMap {
    "ef-hierarchy": EFHierarchy;
  }
}
//#endregion
export { EFHierarchy };
//# sourceMappingURL=EFHierarchy.d.ts.map