import TinyHtmlMedia from '../TinyHtmlMedia.mjs'; /** * TinyHtmlAudio is a helper class for managing elements. * It provides full support for standard audio attributes such as * `src`, `preload`, `controls`, `autoplay`, `loop`, `muted`, and `volume`, * using validated getters and setters for consistency. * * @example * const audio = new TinyHtmlAudio({ * src: 'music.mp3', * controls: true, * autoplay: false, * loop: true, * volume: 0.8 * }); * * @extends TinyHtmlMedia */ declare class TinyHtmlAudio extends TinyHtmlMedia { /** * Creates a new TinyHtmlAudio instance. * @param {Object} config - Configuration object. * @param {string} [config.src=""] - Audio source URL. * @param {'auto'|'metadata'|'none'} [config.preload] - Preload behavior. * @param {boolean} [config.controls=false] - Whether playback controls are displayed. * @param {boolean} [config.autoplay=false] - Whether playback starts automatically. * @param {boolean} [config.loop=false] - Whether playback should loop. * @param {boolean} [config.muted=false] - Whether the audio starts muted. * @param {number} [config.volume] - Initial playback volume (0.0 to 1.0). * @param {string|string[]|Set} [config.tags=[]] - Initial CSS classes. * @param {string} [config.mainClass=""] - Main CSS class. * @throws {TypeError} If any attribute is of the wrong type. */ constructor({ src, preload, controls, autoplay, loop, muted, volume, tags, mainClass, }?: { src?: string; preload?: 'auto' | 'metadata' | 'none'; controls?: boolean; autoplay?: boolean; loop?: boolean; muted?: boolean; volume?: number; tags?: string | string[] | Set; mainClass?: string; }); /** @param {string} src */ set src(src: string); /** @returns {string|null} */ get src(): string | null; /** @param {boolean} controls */ set controls(controls: boolean); /** @returns {boolean} */ get controls(): boolean; /** @param {boolean} autoplay */ set autoplay(autoplay: boolean); /** @returns {boolean} */ get autoplay(): boolean; /** @param {boolean} loop */ set loop(loop: boolean); /** @returns {boolean} */ get loop(): boolean; /** @param {boolean} muted */ set muted(muted: boolean); /** @returns {boolean} */ get muted(): boolean; /** @param {number} volume */ set volume(volume: number); /** @returns {number} */ get volume(): number; } export default TinyHtmlAudio; //# sourceMappingURL=TinyHtmlAudio.d.mts.map