import { WebAudioFontLoader } from "./loader.js";
import { WebAudioFontChannel } from "./channel.js";
import { WebAudioFontReverberator } from "./reverberator.js";
export declare class WebAudioFontPlayer {
    envelopes: WaveEnvelope[];
    loader: WebAudioFontLoader;
    afterTime: number;
    nearZero: number;
    queueGap: number;
    changeQueueGap(newGap: number): number;
    createChannel(audioContext: AudioContext): WebAudioFontChannel;
    createReverberator(audioContext: AudioContext): WebAudioFontReverberator;
    limitVolume(volume: number | undefined): number;
    queueChord(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
    queueStrumUp(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
    queueStrumDown(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
    queueStrum(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
    queueSnap(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitches: number[], duration: number, volume?: number, slides?: WaveSlide[][]): WaveEnvelope[];
    resumeContext(audioContext: AudioContext): void;
    queueWaveTable(audioContext: AudioContext, target: AudioNode, preset: WavePreset, when: number, pitch: number, duration: number, volume?: number, slides?: WaveSlide[]): WaveEnvelope | null;
    noZeroVolume(n: number): number;
    setupEnvelope(audioContext: AudioContext, envelope: WaveEnvelope, zone: WaveZone, volume: number, when: number, sampleDuration: number, noteDuration: number): void;
    numValue(aValue: any, defValue: number): number;
    findEnvelope(audioContext: AudioContext, target: AudioNode): WaveEnvelope;
    adjustPreset: (audioContext: AudioContext, preset: WavePreset) => void;
    adjustZone: (audioContext: AudioContext, zone: WaveZone) => void;
    findZone(audioContext: AudioContext, preset: WavePreset, pitch: number): WaveZone | null;
    cancelQueue(audioContext: AudioContext): void;
}
//# sourceMappingURL=player.d.ts.map