import { ResponsiveType, GridRowsType, GridColumnsType, GapType, GridJustifyItemsType } from '../../types/ui.type';
import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
/**
 * @vegaVersion 1.3.0
 */
export declare class VegaGrid {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaGridElement>;
  host: HTMLVegaGridElement;
  /**
   * Determines the configuration of the grid columns.
   *    It can be provided as an integer, string, or a responsive map
   *    using key-value pairs.
   *
   * If provided as an integer from 1 to 12, each column will have the same width.
   *    The CSS for this configuration is `grid-template-columns: repeat(number, minmax(0, 1fr))`.
   *
   * If provided as a string in the format of n-auto
   *    (e.g., `1-auto`, `2-auto`, ..., `12-auto`),
   *    each column will have auto width. The CSS for this configuration is
   *    `grid-template-columns: repeat(number, auto)`.
   *
   * Alternatively, you can use a responsive map to define different column configurations
   *    for various breakpoints. The keys in the map should represent the breakpoints,
   *    such as `default` or `L`, and the values can be integers or strings following the
   *    same patterns mentioned above.
   *
   * @vegaVersion 1.3.0
   */
  column: ResponsiveType<GridColumnsType>;
  /**
   * Determines the configuration of the grid rows.
   *    It can be provided as an integer, string, or a responsive map
   *    using key-value pairs.
   *
   * If provided as an integer from 1 to 6, each row will have the same height.
   *    The CSS for this configuration is `grid-template-rows: repeat(number, minmax(0, 1fr))`.
   *
   * If provided as a string in the format of n-auto
   *    (e.g., `1-auto`, `2-auto`, ..., `6-auto`),
   *    each row will have auto height. The CSS for this configuration is
   *    `grid-template-rows: repeat(number, auto)`.
   *
   * Alternatively, you can use a responsive map to define different row configurations
   *    for various breakpoints. The keys in the map should represent the breakpoints,
   *    such as `default` or `L`, and the values can be integers or strings following the
   *    same patterns mentioned above.
   *
   * @vegaVersion 1.3.0
   */
  row: ResponsiveType<GridRowsType>;
  /**
   * Determines the spacing between grid cells.
   *
   * It can be provided as a spacing value, such as `size-16` or `size-24`.
   *
   * Alternatively, you can use a responsive map to define different gap values for
   *    various breakpoints. The keys in the map should represent the breakpoints,
   *    such as `default` or `L`, and the values should be spacing values.
   *
   * @vegaVersion 1.3.0
   */
  gap: ResponsiveType<GapType>;
  /**
   * Specifies how grid items are aligned along the inline (row) axis.
   *
   * It can be provided as one of: `start`, `center`, `end`, or `stretch`.
   *
   * Alternatively, you can use a responsive map to define different values for
   *    various breakpoints. The keys in the map should represent the breakpoints,
   *    such as `default` or `L`.
   *
   * @vegaVersion 2.79.0
   */
  justifyItems: ResponsiveType<GridJustifyItemsType>;
  render(): VegaGrid;
}
