import{type TemplateResult,type PropertyValues}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import'../live-region/live-region.class.js';export interface LyraPollStatusEventMap{'lr-poll-due':CustomEvent;'lr-pause-change':CustomEvent<{readonly paused:boolean;}>;} /** * `` — a "next scheduled refresh" countdown with a built-in pause control: a * ticking `M:SS` display counting down to the next scheduled action, a "Refreshing…" state at * zero, a localized inactive state while `active` is false, a "Paused" state * while `paused` (instead of freezing on a stale value), and a pause/resume * toggle. First-party invention (no Web Awesome equivalent); the * closest existing component, `lr-stream-status`, is scoped to transport/connection-health * phases, a different concern from a scheduled-interval countdown -- this mirrors its internal * `` composition for accessible phase-transition announcements. * * Long translated labels wrap within the allocated inline size while the pause/resume * action retains its minimum target size. * * @customElement lr-poll-status * @event lr-poll-due - Fired once when the countdown reaches zero (not fired while `paused`). * @event lr-pause-change - Fired when `paused` changes via the built-in button. * `detail: { paused: boolean }`. * @csspart base - The root wrapper. * @csspart indicator - The pulsing status dot. * @csspart countdown - The localized `M:SS` text, or the refreshing, paused, or inactive state. * @csspart pause-button - The built-in pause/resume toggle. * @cssprop [--lr-poll-status-due-bg=var(--lr-color-success)] - Background of `indicator` while * `data-due` is set, without repainting every other component that reuses the shared success * token. * @cssprop [--lr-poll-status-pause-hover-bg=var(--lr-color-brand-quiet)] - `pause-button` hover * background. * @cssprop [--lr-poll-status-pause-hover-color=var(--lr-color-brand)] - `pause-button` hover * foreground. * @cssprop --lr-poll-status-pause-active-bg - `pause-button` pressed background; defaults to the * former brand-quiet active mix. * @cssprop [--lr-poll-status-pause-active-color=var(--lr-color-brand)] - `pause-button` pressed * foreground. * @status stable * @since 4.0.0 */ export declare class LyraPollStatus extends LyraElement{static styles:import("lit").CSSResultGroup[]; /** Milliseconds until the next scheduled action, as of whenever this was last set -- setting it * (re)starts the countdown from "now." Unset (the default) shows no countdown. */ nextInMs?:number; /** Whether the poll cycle is running at all. While false, the component * clears due/countdown semantics and disables its pause action. */ active:boolean; /** User-toggled pause -- while `true`, the countdown display freezes and `lr-poll-due` never * fires. `false` (the default). */ paused:boolean;private remainingMs;private due;private tickTimer?;private tickTimerOwner?;private tickTimerDocument?;private tickerGeneration;private targetAt;private deadlineConsumed;private pausedRemainingMs?; /** True only until the component's first completed update -- gates the pause/resume * announcement below so mounting with `paused`'s default `false` value never announces * "Resumed." as though a user actually toggled it (mirrors ``'s and * ``'s identical `isMounting` gate for their own first-update announcements: * Lit's ReactiveElement records every declared reactive property as changed during * construction, so `changed.has('paused')` is true on the very first `updated()` call too). */ private isMounting;private liveRegion?;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void; /** * Restarts the configured `nextInMs` delay from now, including after its previous deadline was * consumed. Reassigning the same `nextInMs` value is intentionally a no-op under Lit's normal * change detection; use this method when the delay value stays the same but the cycle is new. */ restart():void;private armTicker;private scheduleTick;private disarmTicker;private announce;private togglePause;private formatCountdown;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-poll-status':LyraPollStatus;}}