export type ClockConfig = { /** * - The background color of the clock face (e.g., '#ffffff', 'rgb(0,0,0)'). */ bgColor: string; /** * - The color of the clock's outer border. */ borderColor: string; /** * - The thickness of the outer border in pixels. */ borderWidth: number; /** * - The color of the minute/hour tick marks. */ markColor: string; /** * - The color of the hour hand. */ hourHandColor: string; /** * - The color of the minute hand. */ minuteHandColor: string; /** * - The color of the second hand. */ secondHandColor: string; /** * - The color of the numbers on the clock face. */ textColor: string; /** * - The URL of an image to use as the clock face background. Set to null to use bgColor. */ skinUrl: string | null; /** * - Whether to render the numbers (1-12) on the clock face. */ showNumbers: boolean; /** * - Whether to display the second hand. */ showSeconds: boolean; /** * - The total width and height of the clock in pixels. */ size: number; /** * - Scale factor for the font size of the numbers relative to the clock size. */ sizeAdjust: number; /** * - Padding in pixels between the clock edge and the tick marks. */ padding: number; /** * - Distance multiplier (0-1) for placing numbers relative to the radius. */ angleDistance: number; /** * - Hour tick width as a percentage of clock size (0.0 to 1.0). */ pwH: number; /** * - Hour tick height as a percentage of clock size (0.0 to 1.0). */ phH: number; /** * - Minute tick width as a percentage of clock size (0.0 to 1.0). */ pwM: number; /** * - Minute tick height as a percentage of clock size (0.0 to 1.0). */ phM: number; }; /** * Configuration object for the Analog Clock. * @typedef {Object} ClockConfig * @property {string} bgColor - The background color of the clock face (e.g., '#ffffff', 'rgb(0,0,0)'). * @property {string} borderColor - The color of the clock's outer border. * @property {number} borderWidth - The thickness of the outer border in pixels. * @property {string} markColor - The color of the minute/hour tick marks. * @property {string} hourHandColor - The color of the hour hand. * @property {string} minuteHandColor - The color of the minute hand. * @property {string} secondHandColor - The color of the second hand. * @property {string} textColor - The color of the numbers on the clock face. * @property {string|null} skinUrl - The URL of an image to use as the clock face background. Set to null to use bgColor. * @property {boolean} showNumbers - Whether to render the numbers (1-12) on the clock face. * @property {boolean} showSeconds - Whether to display the second hand. * @property {number} size - The total width and height of the clock in pixels. * @property {number} sizeAdjust - Scale factor for the font size of the numbers relative to the clock size. * @property {number} padding - Padding in pixels between the clock edge and the tick marks. * @property {number} angleDistance - Distance multiplier (0-1) for placing numbers relative to the radius. * @property {number} pwH - Hour tick width as a percentage of clock size (0.0 to 1.0). * @property {number} phH - Hour tick height as a percentage of clock size (0.0 to 1.0). * @property {number} pwM - Minute tick width as a percentage of clock size (0.0 to 1.0). * @property {number} phM - Minute tick height as a percentage of clock size (0.0 to 1.0). */ declare class TinyAnalogClock { #private; /** * Gets the current destruction status of the instance. * * @returns {boolean} True if the instance is destroyed, false otherwise. */ get destroyed(): boolean; /** * Retrieves the current date and extracts the specific hour, minute, and second components. * @returns {{ now: Date, s: number, m: number, h: number }} * @private */ private _getDate; /** * Creates an instance of TinyAnalogClock. * Initializes the DOM structure and starts the animation loop. * @param {Partial} [options] - Optional configuration overrides. */ constructor(options?: Partial); /** * Applies the current configuration to the DOM elements (colors, sizes, visibility). * @private */ private _applyConfig; /** * Renders the clock face, including tick marks and numbers, based on the current size and config. * Uses trigonometry to position elements perfectly from the center. * @private */ private _renderFace; /** * Starts the RequestAnimationFrame loop to update hand positions. * @private */ private _startTicker; /** * Gets the main HTML element of the clock. * @returns {HTMLElement} The clock container. */ get element(): HTMLElement; /** * Sets the size of the clock. * @param {number} value - The new size in pixels. Must be a positive number. * @throws {Error} If value is not a positive number. */ set size(value: number); /** * Gets the clock size in pixels. * @returns {number} */ get size(): number; /** * Sets the background image (skin) of the clock. * @param {string|null} url - The URL string of the image, or null to remove the skin. * @throws {Error} If value is not a string or null. */ set skinUrl(url: string | null); /** * Gets the skin URL. * @returns {string|null} */ get skinUrl(): string | null; /** * Sets the primary border color. * @param {string} color - A valid CSS color string. * @throws {Error} If value is not a non-empty string. */ set borderColor(color: string); /** * Gets the border color. * @returns {string} */ get borderColor(): string; /** * Sets the primary marks color. * @param {string} color - A valid CSS color string. * @throws {Error} If value is not a non-empty string. */ set markColor(color: string); /** * Gets the tick marks color. * @returns {string} */ get markColor(): string; /** * Sets the primary text color. * @param {string} color - A valid CSS color string. * @throws {Error} If value is not a non-empty string. */ set textColor(color: string); /** * Gets the text color. * @returns {string} */ get textColor(): string; /** * Toggles the visibility of numbers on the clock face. * @param {boolean} value - True to show numbers, false to hide. * @throws {Error} If value is not a boolean. */ set showNumbers(value: boolean); /** * Gets numbers visibility. * @returns {boolean} */ get showNumbers(): boolean; /** * Sets the background color. * @param {string} value */ set bgColor(value: string); /** * Gets the background color. * @returns {string} */ get bgColor(): string; /** * Sets the border thickness in pixels. * @param {number} value */ set borderWidth(value: number); /** * Gets the border thickness. * @returns {number} */ get borderWidth(): number; /** * Sets the hour hand color. * @param {string} value */ set hourHandColor(value: string); /** * Gets the hour hand color. * @returns {string} */ get hourHandColor(): string; /** * Sets the minute hand color. * @param {string} value */ set minuteHandColor(value: string); /** * Gets the minute hand color. * @returns {string} */ get minuteHandColor(): string; /** * Sets the second hand color. * @param {string} value */ set secondHandColor(value: string); /** * Gets the second hand color. * @returns {string} */ get secondHandColor(): string; /** * Toggle second hand visibility. * @param {boolean} value */ set showSeconds(value: boolean); /** * Gets second hand visibility. * @returns {boolean} */ get showSeconds(): boolean; /** * Sets the font size adjustment factor. * @param {number} value - Positive number. */ set sizeAdjust(value: number); /** * Gets the font size adjustment factor. * @returns {number} */ get sizeAdjust(): number; /** * Sets the padding from edge to ticks. * @param {number} value - Non-negative number in pixels. */ set padding(value: number); /** * Gets the padding. * @returns {number} */ get padding(): number; /** * Sets the angle distance multiplier for numbers placement. * @param {number} value - Positive number. */ set angleDistance(value: number); /** * Gets the angle distance multiplier. * @returns {number} */ get angleDistance(): number; /** * Sets the Hour tick width percentage. * @param {number} value - Positive number. */ set pwH(value: number); /** * Gets the Hour tick width percentage. * @returns {number} */ get pwH(): number; /** * Sets the Hour tick height percentage. * @param {number} value - Positive number. */ set phH(value: number); /** * Gets the Hour tick height percentage. * @returns {number} */ get phH(): number; /** * Sets the Minute tick width percentage. * @param {number} value - Positive number. */ set pwM(value: number); /** * Gets the Minute tick width percentage. * @returns {number} */ get pwM(): number; /** * Sets the Minute tick height percentage. * @param {number} value - Positive number. */ set phM(value: number); /** * Gets the Minute tick height percentage. * @returns {number} */ get phM(): number; /** * Destroys the clock instance, stops animations, and removes the element from DOM. * @returns {void} */ destroy(): void; } export default TinyAnalogClock; //# sourceMappingURL=TinyAnalogClock.d.mts.map