import * as THREE from 'three'; import { NgtObject, NgtObjectPropsState, NgtPreObjectInit } from '../abstracts/object'; import type { AnyConstructor, BooleanInput, NumberInput } from '../types'; import * as i0 from "@angular/core"; export interface NgtCommonAudioState = THREE.Audio> extends NgtObjectPropsState { listener: THREE.AudioListener; buffer: null | AudioBuffer; detune: number; loop: boolean; loopStart: number; loopEnd: number; offset: number; playbackRate: number; isPlaying: boolean; hasPlaybackControl: boolean; sourceType: string; source: null | AudioBufferSourceNode; filters: AudioNode[]; duration?: number; autoplay?: boolean; } export declare abstract class NgtCommonAudio = THREE.Audio> extends NgtObject> { abstract get audioType(): AnyConstructor; set listener(listener: THREE.AudioListener); set buffer(buffer: null | AudioBuffer); set detune(detune: NumberInput); set loop(loop: BooleanInput); set loopStart(loopStart: NumberInput); set loopEnd(loopEnd: NumberInput); set offset(offset: NumberInput); set playbackRate(playbackRate: NumberInput); set isPlaying(isPlaying: BooleanInput); set hasPlaybackControl(hasPlaybackControl: BooleanInput); set sourceType(sourceType: string); set source(source: null | AudioBufferSourceNode); set filters(filters: AudioNode[]); set duration(duration: NumberInput); set autoplay(autoplay: BooleanInput); protected objectInitFn(): TAudio; protected preInit(): void; protected get preObjectInit(): NgtPreObjectInit; protected get optionFields(): Record; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "listener": "listener"; "buffer": "buffer"; "detune": "detune"; "loop": "loop"; "loopStart": "loopStart"; "loopEnd": "loopEnd"; "offset": "offset"; "playbackRate": "playbackRate"; "isPlaying": "isPlaying"; "hasPlaybackControl": "hasPlaybackControl"; "sourceType": "sourceType"; "source": "source"; "filters": "filters"; "duration": "duration"; "autoplay": "autoplay"; }, {}, never, never, false>; } export declare const provideNgtCommonAudio: (sub: import("../types").AnyCtor) => any[];