import { CSSResultGroup, PropertyValues, TemplateResult } from 'lit'; import { SbbElement } from '../core/base-elements.ts'; import { SbbTime } from '../core/interfaces.ts'; /** * It displays an analog clock with the classic SBB face. */ export declare class SbbClockElement extends SbbElement { static readonly elementName: string; static styles: CSSResultGroup; /** * Define a specific time which the clock should show statically. * @param value HH:MM:ss */ accessor now: SbbTime | null; /** Whether the clock is ticking or not */ private _state; /** Reference to the hour hand. */ private _clockHandHours; /** Reference to the minute hand. */ private _clockHandMinutes; /** Reference to the second hand. */ private _clockHandSeconds; /** Hours value for the current date. */ private _hours; /** Minutes value for the current date. */ private _minutes; /** Seconds value for the current date. */ private _seconds; /** Move the minutes hand every minute. */ private _handMovement?; private _resetIntervalId?; /** Callback function for hours hand. */ private _moveHoursHandFn; /** Callback function for minutes hand. */ private _moveMinutesHandFn; connectedCallback(): void; protected willUpdate(changedProperties: PropertyValues): void; protected firstUpdated(changedProperties: PropertyValues): void; disconnectedCallback(): void; private _handlePageVisibilityChange; private _startOrConfigureClock; /** Starts the clock by defining the hands starting position then starting the animations. */ private _startClock; /** Stops the clock by removing all the animations. */ private _stopClock; /** * As a fallback measure to prevent de-sync, reset the clock to the system time. */ private _resetClock; /** Set the starting position for the three hands on the clock face. */ private _setHandsStartingPosition; /** Given the current date, calculates the hh/mm/ss values and the hh/mm/ss left to the next midnight. */ private _assignCurrentTime; /** Set the starting position for the minutes hand. */ private _setMinutesHand; /** Move the hours hand to the next value. */ private _moveHoursHand; /** Move the minutes hand to the next value. */ private _moveMinutesHand; private _addMinutesAndSetHands; /** * Removing animation by overriding with empty string, * then triggering a reflow and re add original animation by removing override. * @private */ private _resetSecondsHandAnimation; private _removeEventListeners; private _removeHoursAnimationStyles; private _removeSecondsAnimationStyles; protected render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'sbb-clock': SbbClockElement; } } //# sourceMappingURL=clock.component.d.ts.map