export default class TimerBar extends HTMLElement {
rootElement: HTMLElement;
foregroundElement: HTMLElement;
backgroundElement: HTMLElement;
leftTextElement: HTMLElement;
centerTextElement: HTMLElement;
rightTextElement: HTMLElement;
private _duration;
private _start;
private _width;
private _height;
private _bg;
private _fg;
private _towardRight;
private _fill;
private _leftText;
private _centerText;
private _rightText;
private _hideAfter;
private _loop;
private _connected;
private _hideTimer;
static get observedAttributes(): string[];
/** create an instance of TimerBar with attributes */
static create(o?: {
duration?: number;
value?: number;
elapsed?: number;
hideafter?: number;
lefttext?: string;
centertext?: string;
righttext?: string;
width?: string;
height?: string;
bg?: string;
fg?: string;
stylefill?: 'empty' | 'fill';
toward?: 'left' | 'right';
loop?: boolean;
}): TimerBar;
set bg(c: string | null);
get bg(): string | null;
set fg(c: string | null);
get fg(): string | null;
set width(w: string | null);
get width(): string | null;
set height(w: string | null);
get height(): string | null;
set duration(s: number | null);
get duration(): number | null;
set value(s: number);
get value(): number;
set elapsed(s: number);
get elapsed(): number;
set toward(t: 'left' | 'right' | null);
get toward(): 'left' | 'right' | null;
set stylefill(s: 'empty' | 'fill' | null);
get stylefill(): 'empty' | 'fill' | null;
set hideafter(h: number | null);
get hideafter(): number | null;
set lefttext(p: string | null);
get lefttext(): string | null;
set righttext(p: string | null);
get righttext(): string | null;
set centertext(p: string | null);
get centertext(): string | null;
set loop(l: boolean);
get loop(): boolean;
constructor();
init(root: ShadowRoot): void;
connectedCallback(): void;
disconnectedCallback(): void;
attributeChangedCallback(name: string, _oldValue: string | number, newValue: string): void;
layout(): void;
updateText(): void;
draw(): void;
applyStyles(styles: {
[s: string]: string;
}): void;
setvalue(remainSec: number): void;
advance(): void;
show(): void;
hide(): void;
}
declare global {
interface HTMLElementTagNameMap {
'timer-bar': TimerBar;
}
}