export default class TimerBox extends HTMLElement {
private _start;
private _duration;
rootElement: HTMLDivElement;
largeBoxElement: HTMLDivElement;
largeBoxBackgroundElement: HTMLDivElement;
largeBoxForegroundElement: HTMLDivElement;
smallBoxElement: HTMLDivElement;
smallBoxBackgroundElement: HTMLDivElement;
smallBoxForegroundElement: HTMLDivElement;
timerElement: HTMLDivElement;
readonly kLargeSize: number;
readonly kSmallSize: number;
readonly kBorderSize: number;
readonly kFontSize: number;
readonly kAnimateMS: number;
private _threshold;
private _bg;
private _fg;
private _scale;
private _valueScale;
private _towardTop;
private _fill;
private _hideAfter;
private _bigAtZero;
private _roundUpThreshold;
private _connected;
private _hideTimer;
private _timer;
private _notifyThresholdCallbacks;
private _onThresholdCallbacks;
private _onExpiredCallbacks;
private _onResetCallbacks;
static get observedAttributes(): string[];
/** create an instance of TimerBox with attributes */
static create(o?: {
duration?: number;
threshold?: number;
scale?: number;
valuescale?: number;
bg?: string;
fg?: string;
toward?: 'top' | 'bottom';
stylefill?: 'fill' | 'empty';
hideafter?: number | null;
bigatzero?: boolean;
roundupthreshold?: boolean;
}): TimerBox;
set duration(d: number | null);
get duration(): number | null;
set threshold(t: number | null);
get threshold(): number | null;
set scale(s: number | null);
get scale(): number | null;
set valuescale(s: number | null);
get valuescale(): number | null;
set bg(c: string | null);
get bg(): string | null;
set fg(c: string | null);
get fg(): string | null;
set toward(t: 'top' | 'bottom');
get toward(): 'top' | 'bottom';
set stylefill(s: 'fill' | 'empty' | null);
get stylefill(): 'fill' | 'empty' | null;
set hideafter(h: number | null);
get hideafter(): number | null;
set bigatzero(big: boolean);
get bigatzero(): boolean;
get value(): number;
get elapsed(): number;
set roundupthreshold(r: boolean);
get roundupthreshold(): boolean;
constructor();
init(root: ShadowRoot): void;
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, _oldValue: string | number, newValue: string): void;
onThresholdReached(f: () => void): void;
onExpired(f: () => void): void;
onReset(f: () => void): void;
layout(): void;
draw(): void;
reset(): void;
advance(): void;
show(): void;
hide(): void;
}
declare global {
interface HTMLElementTagNameMap {
'timer-box': TimerBox;
}
}