import { LitElement } from "lit"; import type { TemplateResult } from "lit"; export type ProgressVariant = "linear" | "circular"; export type ProgressSize = "xs" | "sm" | "md" | "lg"; /** One part of a part-to-whole rail (`segments`). */ export interface ProgressSegment { /** Magnitude of this part, in whatever unit the caller counts in. */ value: number; /** Name of the part — the accessible label and the legend entry. */ label?: string; /** Draw this part in the coral accent instead of the neutral ramp. At most one segment should claim it (AD-11, one accent). */ accent?: boolean; } export declare class XmProgress extends LitElement { static styles: CSSStyleSheet[]; variant: ProgressVariant; value: number; indeterminate: boolean; size: ProgressSize; label: string; showLabel: boolean; /** Turn the rail into a part-to-whole split: one track, n parts sized by share of their sum. Not progress toward a goal, so the segmented rail is a labelled list rather than a `progressbar`; `value` is ignored. */ segments: ProgressSegment[]; private get _isDeterminate(); private get _clamped(); render(): TemplateResult; private _renderSegmented; private _renderLinear; private _renderCircular; private _renderRingIndicator; } declare global { interface HTMLElementTagNameMap { "xm-progress": XmProgress; } }