import { PropertyValueMap } from 'lit';
import { DdsElement } from '../../internal/dds-hu-element';
export type SkeletonVariant = 'text' | 'circular' | 'rectangular';
export type SkeletonAnimation = 'wave' | 'pulse' | 'custom';
/**
* `dap-ds-skeleton`
* @summary A skeleton loader component for displaying placeholder content while loading.
* @element dap-ds-skeleton
* @title - Skeleton
*
* @example Basic Usage
* ```html
*
*
*
*
* ```
*
* @csspart base - The main skeleton container.
*
* @cssprop --dds-skeleton-color - The base color of the skeleton (default: linear-gradient(90deg, transparent, rgb(0 0 0 / 10%), transparent))
* @cssprop --dds-skeleton-animation-duration - Duration of the loading animation (default: 1.5s)
* @cssprop --dds-skeleton-border-radius - Border radius for rectangular skeletons (default: var(--dds-radius-small))
* @cssprop --dds-skeleton-text-spacing - Spacing between text lines in text variant (default: var(--dds-spacing-100))
* @cssprop --dds-skeleton-animation-timing-function - Timing function for the loading animation (default: ease-in-out)
*/
export default class DapDSSkeleton extends DdsElement {
/**
* The variant of the skeleton.
* @type {"text" | "circular" | "rectangular"}
*/
variant: SkeletonVariant;
/**
* The width of the skeleton. Can be any valid CSS width value.
*/
width?: string;
/**
* The height of the skeleton. Can be any valid CSS height value.
*/
height?: string;
/**
* Whether to animate the skeleton.
*/
noAnimation: boolean;
/**
* The animation type for the skeleton.
* @type {"wave" | "pulse" | "custom"}
*/
animation: SkeletonAnimation;
/**
* Custom keyframes for the animation when animation="custom".
* Should be a valid CSS keyframes string without the @keyframes wrapper.
* @example "0% { transform: scale(1); } 50% { transform: scale(1.1); } 100% { transform: scale(1); }"
*/
customKeyframes?: string;
static readonly styles: import('lit').CSSResult;
private _userCustomStyles?;
private _generateKeyframesCSS;
private _updateMergedStyles;
protected updated(changedProperties: PropertyValueMap | Map): void;
protected firstUpdated(_changedProperties: PropertyValueMap | Map): void;
render(): import('lit-html').TemplateResult<1>;
}