import { LitElement } from 'lit'; export declare class SpectrumElement extends LitElement { /** * @internal */ static VERSION: string; /** * @internal */ static CORE_VERSION: string; } /** * Builds the deduplication key for a dev-mode warning. The `message` is part of * the key so two distinct problems that share a `type`/`level` (the common * case) do not suppress each other; only a verbatim repeat of the same warning * is deduplicated. Exported so the dedup key can be unit tested without relying * on the `NODE_ENV`-gated `window.__swc` setup below. */ export declare function warningId(localName: string, type: WarningType, level: WarningLevel, message: string): BrandedSWCWarningID; /** * A group of dev-mode warnings that share a `warningId`, collected within a * single microtask so they can be emitted as one console line with a count. */ type BatchedWarning = { message: string; url: string; localName: string; type: WarningType; level: WarningLevel; listedIssues: string; elements: HTMLElement[]; count: number; /** * Elements already counted in this batch, keyed by identity. A repeated * `warn()` for an element already here does not bump `count` again. */ countedElements?: Set; /** * Whether the dev-mode warning (the only warning with no element) has been * counted, so repeats of it collapse to one. */ countedDevModeWarning?: boolean; }; /** * Builds the `console.warn` arguments for a grouped dev warning: the message * and a count line, then the element ref(s) to inspect. By default one * representative element is shown; `verbose` shows every collected element * (already capped at collection time). Exported so the grouped output can be * unit tested without the `NODE_ENV`-gated `window.__swc` setup below. * * @internal */ export declare function buildGroupedWarningArgs(batch: BatchedWarning, verbose: boolean): unknown[]; /** * Records one warning occurrence into its batch, counting by element identity: * `count` becomes the number of distinct elements with this warning, not the * number of `warn()` calls. A host that warns once per child (same message, * same element) still counts as one affected element. `count` is uncapped; * `maxDisplayed` only limits how many element refs are kept for display. * * @param batch - Grouped-warning batch to record into. * @param element - Element the warning is about, or `undefined` for the * dev-mode warning, which is not about a specific element. * @param maxDisplayed - Cap on element refs kept for display; does not affect * `count`. * @internal */ export declare function recordAffectedElement(batch: BatchedWarning, element: HTMLElement | undefined, maxDisplayed: number): void; export {};