import { type HTMLAttributes } from 'react'; import { type VariantProps } from 'class-variance-authority'; declare const countdownVariants: (props?: ({ size?: "sm" | "md" | "lg" | null | undefined; tone?: "warning" | "running" | "expired" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type CountdownVariantProps = Pick, 'size'>; export interface SessionCountdownProps extends Omit, 'role'>, CountdownVariantProps { /** Controlled remaining milliseconds. Source of truth; no internal tick. */ remainingMs?: number; /** Absolute deadline (ms-epoch, ISO string, or Date). Ticks internally. */ expiresAt?: number | string | Date; /** Full session duration in ms — progress denominator. Default 900000. */ totalMs?: number; /** Remaining threshold (ms) at/below which tone escalates to warning. */ warnAtMs?: number; /** Type / padding scale. Default `md`. */ size?: 'sm' | 'md' | 'lg'; /** Determinate Progress bar of elapsed fraction. */ showProgress?: boolean; /** Fired exactly once when remaining crosses to 0. Idempotent. */ onExpire?: () => void; /** Restart CTA handler (expired banner). Omit → no button rendered. */ onRestart?: () => void; /** Restart in flight — disables + spins the Restart button. */ restarting?: boolean; /** Internal tick cadence (ms) for the `expiresAt` path. Default 1000. */ tickMs?: number; /** Locale override for number formatting. Falls back to i18n.language. */ locale?: string; /** Override the accessible name of the timer region. */ label?: string; /** Merged onto the outermost element. CVA-composed, never inline style. */ className?: string; } export declare const SessionCountdown: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=session-countdown.d.ts.map