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