import { GlobalSlimmers } from '../../vega-slimmer/vega-slimmer-core';
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
import { VegaSkeletonTextRenderer } from './slimmers/renderers/vega-skeleton-text-renderer';
import { VegaSkeletonParagraphRenderer } from './slimmers/renderers/vega-skeleton-paragraph-renderer';
import { VegaSkeletonFullWidthParagraphRenderer } from './slimmers/renderers/vega-skeleton-full-width-paragraph-renderer';
import { VegaSkeletonImageRenderer } from './slimmers/renderers/vega-skeleton-image-renderer';
import { VegaSkeletonTableRenderer } from './slimmers/renderers/vega-skeleton-table-renderer';
import { VegaSkeletonRendererManager } from './slimmers/renderers/vega-skeleton-renderer-manager';
import { VegaSkeletonEllipseRenderer } from './slimmers/renderers/vega-skeleton-ellipse-renderer';
import { CornersType, HeightType, WidthType } from '../../types/ui.type';
import { VegaSkeletonType } from './interface';
/**
 * @vegaVersion 2.15.0
 */
export declare class VegaSkeleton {
  protected readonly globalSlimmers: GlobalSlimmers;
  protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaSkeletonElement>;
  protected vegaSkeletonTextRenderer: VegaSkeletonTextRenderer;
  protected vegaSkeletonParagraphRenderer: VegaSkeletonParagraphRenderer;
  protected vegaSkeletonFullWidthParagraphRenderer: VegaSkeletonFullWidthParagraphRenderer;
  protected vegaSkeletonEllipseRenderer: VegaSkeletonEllipseRenderer;
  protected vegaSkeletonImageRenderer: VegaSkeletonImageRenderer;
  protected vegaSkeletonTableRenderer: VegaSkeletonTableRenderer;
  protected vegaSkeletonRendererManager: VegaSkeletonRendererManager;
  host: HTMLVegaSkeletonElement;
  /**
   * Specifies the type of the skeleton.
   *
   * @vegaVersion 2.15.0
   */
  type: VegaSkeletonType;
  /**
   * Specifies the width of the skeleton.
   *
   * @vegaVersion 2.15.0
   */
  width: WidthType;
  /**
   * Specifies the height of the skeleton.
   * - This property is applicable only when {@link type} is set to is `image` or `ellipse`.
   *
   * @vegaVersion 2.15.0
   */
  height: HeightType;
  /**
   * Indicates whether the skeleton displays an animation effect.
   *
   * @vegaVersion 2.15.0
   */
  animated: boolean;
  /**
   * Defines the corner of the skeleton.
   *    It accepts a string value representing a valid
   *    border radius token.
   * @VegaHint This property is only valid for image types.
   *
   * @vegaVersion 2.45.0
   */
  corners: CornersType;
  render(): VegaSkeleton;
}
