import { ReactiveElement } from 'lit'; import { SlotPresenceObservingInterface } from './observe-slot-presence.js'; type Constructor> = { new (...args: any[]): T; prototype: T; }; export declare const LINEAR_PROGRESS_VALID_SIZES: readonly ["s", "m", "l", "xl"]; export type LinearProgressSize = (typeof LINEAR_PROGRESS_VALID_SIZES)[number]; export declare const LINEAR_PROGRESS_STATIC_COLORS: readonly ["white", "black"]; export type LinearProgressStaticColor = (typeof LINEAR_PROGRESS_STATIC_COLORS)[number]; export declare const LINEAR_PROGRESS_LABEL_POSITIONS: readonly ["top", "side"]; export type LinearProgressLabelPosition = (typeof LINEAR_PROGRESS_LABEL_POSITIONS)[number]; export interface LinearProgressInterface extends SlotPresenceObservingInterface { value: number; minValue: number; maxValue: number; accessibleLabel: string; valueLabel?: string; formatOptions?: Intl.NumberFormatOptions; labelPosition: LinearProgressLabelPosition; staticColor?: LinearProgressStaticColor; readonly sanitizedMin: number; readonly sanitizedMax: number; readonly clampedValue: number; readonly fillPercent: number; readonly formattedValue: string; readonly hasLabelSlotContent: boolean; readonly hasDescriptionSlotContent: boolean; readonly labelContainerId: string; readonly descriptionContainerId: string; } /** * Mixin for linear progress components. Owns the typed property * declarations, sanitized range + value, locale formatting, light-DOM * slot presence tracking (so the shadow-DOM containers and slots can * be fully conditional), and the DEBUG accessible-name warning. * * Intentionally silent on `role` and animation — those stay in each * component's own base class. */ export declare function LinearProgressMixin>(constructor: T): T & Constructor; export {};