import { VegaLeftNavLink } from '../../vega-left-nav-link';
import { VegaNavObserverSlimmer } from '../../../slimmers/vega-nav-observer-slimmer';
import { Nullable } from '../../../../../types/general';
import { DomNodeSubject } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject';
export declare class VegaLeftNavLinkController extends VegaNavObserverSlimmer {
  host: VegaLeftNavLink['host'];
  selected: VegaLeftNavLink['selected'];
  customSelectionEnabled: VegaLeftNavLink['customSelectionEnabled'];
  vegaLeftNavHierarchyController: VegaLeftNavLink['vegaLeftNavHierarchyController'];
  /**
   * When selected is true during initialization, the VegaInternalInitializeLeftNavLinkSelected observer needs to be notified
   */
  componentWillRender(): void;
  componentDidRender(): void;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-left-nav-link-observer-with-click}
   */
  setSelected(selected: boolean): void;
  /**
   * The below method is e2e-test covered in
   * @see{module:vega-left-nav-link-observer-with-click}
   */
  protected observerListener(castInput: HTMLVegaLeftNavLinkElement): void;
  /**
   * Returns the dom node subject for selection observer registration.
   * The subject is scoped to the top parent nav container for this link.
   */
  protected getObserverSubject(): Nullable<DomNodeSubject>;
}
