import { GlobalSlimmers } from '../../../vega-slimmer/vega-slimmer-core';
import { LeftNavSourceItem } from '../interface';
import { VegaNavListRenderer } from '../slimmers/renderers/vega-nav-list-renderer';
import { MaxHeightType, ResponsiveType } from '../../../types/ui.type';
import { VegaNavCardMaxHeightController } from './slimmers/controllers/vega-nav-card-max-height-controller';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.42.0
 */
export declare class VegaNavCard {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected readonly listRenderer: VegaNavListRenderer;
  protected readonly maxHeightController: VegaNavCardMaxHeightController;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaNavCardElement>;
  host: HTMLVegaNavCardElement;
  currentMaxHeight: string;
  /**
   * Specifies the source data used to populate the list within
   *    the `vega-nav-card` component.
   *
   * @vegaVersion 1.42.0
   */
  source: LeftNavSourceItem[];
  /**
   * Specifies the maximum height for the scrollable list
   *     within the `vega-nav-card` component.
   * It accepts values in both numeric and string formats.
   * For numeric values, use a number to indicate the height
   *    in pixels, e.g., 100 will be translated to 100px.
   * For string values, you can use CSS units like 'vh' or 'calc' expressions.
   *    For example, '100vh' sets the height to 100% of the viewport height,
   *    and 'calc(100vh - 20px)' allows for more complex calculations to
   *    determine the height.
   *
   * @vegaVersion 1.44.0
   */
  maxHeight: ResponsiveType<MaxHeightType>;
  watchMaxHeight(): void;
  render(): VegaNavCard;
}
