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; } }