/**
 * Configuration for the header of a left navigation panel.
 */
export declare type LeftNavHeaderConfig = {
  /**
   * Main title text.
   */
  title?: string;
  /**
   * Optional subtitle text.
   */
  subtitle?: string;
};
/**
 * Settings for a section header within the left navigation.
 */
export declare type LeftNavSectionHeaderConfig = {
  /**
   * Title text for the section.
   */
  title?: string;
  /**
   * Text for a linked action.
   */
  actionTitle?: string;
  /**
   * URL for the action link.
   */
  actionLink?: string;
  /**
   * If true, the action emits events instead of navigation.
   */
  actionEventful?: boolean;
};
/**
 * Represents a navigational section containing groups or links.
 */
export declare type LeftNavSection = {
  type: 'section';
  /**
   * Optional unique key for the section.
   */
  key?: string;
  /**
   * Header configuration for the section.
   */
  sectionHeader?: LeftNavSectionHeaderConfig;
  /**
   * Child groups or links under this section.
   */
  children: (LeftNavGroup | LeftNavLink)[];
};
/**
 * A collapsible group of links within the left navigation.
 */
export declare type LeftNavGroup = {
  type: 'group';
  /**
   * Display name for the group.
   */
  name: string;
  /**
   * Optional unique key.
   */
  key?: string;
  /**
   * Icon name associated with the group.
   */
  icon?: string;
  /**
   * Whether the group should be expanded initially.
   */
  openByDefault?: boolean;
  /**
   * Nested groups or links inside this group.
   */
  children: (LeftNavGroup | LeftNavLink)[];
};
/**
 * Configuration for an individual link in the left nav.
 */
export declare type LeftNavLink = {
  type: 'link';
  /**
   * Display text for the link.
   */
  name: string;
  /**
   * Destination URL.
   */
  url: string;
  /**
   * Link target behavior.
   */
  target?: '_blank' | '_self';
  /**
   * Optional unique key.
   */
  key?: string;
  /**
   * Icon name for the link.
   */
  icon?: string;
  /**
   * Whether the link is currently selected.
   */
  selected?: boolean;
  /**
   * Badge configuration for counters.
   */
  counterBadge?: LeftNavCounterBadgeConfig;
};
/**
 * Configuration for counter badges shown on nav links.
 */
export declare type LeftNavCounterBadgeConfig = {
  /**
   * Background color token for the badge.
   */
  color?: 'bg-danger' | 'bg-action';
  /**
   * Counter number (deprecated alias).
   */
  counter?: number;
  /**
   * Actual count value displayed.
   */
  count?: number;
};
/**
 * Union type representing any item that can appear in the left nav source.
 */
export declare type LeftNavSourceItem = LeftNavSection | LeftNavGroup | LeftNavLink;
/**
 * Represents the open/closed state of navigation sections.
 */
export declare type LeftNavOpenStateType = 'open' | 'close';
/**
 * One of the types of autoCollapseGroups.
 *
 * @deprecated deprecatedBooleanAlias
 */
export declare type deprecatedBooleanAlias = boolean;
/**
 * Configuration options for when navigation groups should auto-collapse.
 */
export declare type autoCollapseGroupsType = deprecatedBooleanAlias | 'on-group-click' | 'on-link-click' | 'never' | 'always';
/**
 * Payload provided to observers monitoring nav group changes.
 */
export declare type GroupObserverPayload = {
  /**
   * Reference to the group element being observed.
   */
  host: HTMLVegaLeftNavGroupElement;
};
/**
 * Root element type for left navigation components.
 */
export declare type HTMLVegaLeftNavRoot = HTMLVegaLeftNavElement | HTMLVegaNavCardElement;
