import { VegaPublicAPIRuntimeMetricsSlimmerBase } from '../slimmers/runtime-metrics/public-api-runtime-metrics-slimmer-base'; import { VegaSkeletonLoaderConfig } from './interface'; /** * Vega Skeleton Loader Controller to show skeletons in the target elements */ declare class VegaSkeletonLoaderController { private static readonly LOADER_DATA_SET_KEY; protected vegaPublicAPIRuntimeMetricsSlimmer: VegaPublicAPIRuntimeMetricsSlimmerBase; private loaderMap; /** * Load the skeletons in the target elements * * @param { VegaSkeletonLoaderConfig } config - Configuration for the loading function * @param {string} config.target - Target elements to show the skeletons. * @param {VegaSkeletonLoaderConfig.type} [config.type = 'text'] - Type of the skeleton. * @param {VegaSkeletonLoaderConfig.width} config.width - Width of the skeleton. * @param {VegaSkeletonLoaderConfig.height} config.height - Height of the skeleton. * @param {VegaSkeletonLoaderConfig.items} config.items - Configuration for multiple skeleton items. * @param {VegaSkeletonLoaderConfig.layout} config.layout - Layout of the skeleton items. * @returns { string } - Key of the loaded skeleton items. * @vegaVersion 2.16.0 */ load({ target, type, width, height, items, layout }: VegaSkeletonLoaderConfig): string; /** * Remove the skeletons from the dom. * * @param {string} key - The key returned from {@link VegaSkeletonLoaderController.load}. * @vegaVersion 2.16.0 */ unLoad(key: string): void; /** * Remove all the skeletons from the dom. * * @vegaVersion 2.16.0 */ unLoadAll(): void; /** * Create a skeleton item. The skeleton animated always be true * * @param {VegaSkeletonLoaderItem} config - Configuration for the skeleton item. * @returns {HTMLVegaSkeletonElement} - Skeleton item. */ private createSkeleton; /** * Wrap the flex layout for the skeletons. * * @param {HTMLElement[]} skeletons - Skeleton elements of the loader. * @param {VegaSkeletonLoaderLayout} layout - Flex properties for the layout. * @returns {HTMLVegaFlexElement} - Container wrapping the skeletons in the specified flex layout. */ private wrapLayout; } export declare const VegaSkeletonLoader: VegaSkeletonLoaderController; export {};