import { PropertyValues } from 'lit'; import { SpectrumElement } from '../../shared/base'; import { ProgressCircleStaticColor } from './ProgressCircle.types'; declare const ProgressCircleBase_base: typeof SpectrumElement & { new (...args: any[]): import('../../shared/base').SizedElementInterface; prototype: import('../../shared/base').SizedElementInterface; } & import('../../shared/base/sizedMixin').SizedElementConstructor; /** * A progress circle component that visually represents the completion progress of a task. * Can be used in both determinate (with specific progress value) and indeterminate (loading) states. * * @attribute {ElementSize} size - The size of the progress circle. * * @todo Why do we support both the slot and the label attribute? Should we deprecate the slot? * * @todo Figure out why our tool chain doesn't respect the line breaks in this slot description. * * @slot - Accessible label for the progress circle. * * Used to provide context about what is loading or progressing. * * @fires progress-change - Dispatched when the progress value changes */ export declare abstract class ProgressCircleBase extends ProgressCircleBase_base { /** * @internal * * A readonly array of the valid static colors for the progress circle. * * This is an actual internal property, intended not for customer use * but for use in internal validation logic, stories, tests, etc. * * Because S1 and S2 support different static colors, the value of this * property must be set in each subclass. */ static readonly STATIC_COLORS: readonly string[]; /** * @internal * * Static color variant for use on different backgrounds. * * This is a public property, but its valid values vary between S1 and S2, * so the property (and its docs) need to be redefined in each subclass. * * The type declared here is a union of the valid values for S1 and S2, * and should be narrowed in each subclass. */ staticColor?: ProgressCircleStaticColor; /** * Whether the progress circle shows indeterminate progress (loading state). * * When true, displays an animated loading indicator instead of a specific progress value. */ indeterminate: boolean; /** * Accessible label for the progress circle. * * Used to provide context about what is loading or progressing. */ label: string; /** * Progress value from 0 to 100. * * Only relevant when indeterminate is false. */ progress: number; /** * @internal */ private slotEl; protected makeRotation(rotation: number): string | undefined; protected handleSlotchange(): void; protected firstUpdated(changes: PropertyValues): void; protected updated(changes: PropertyValues): void; } export {};