declare global {
    interface Window {
        webkitAudioContext?: typeof AudioContext;
    }
}
type FileSource = string | HTMLSourceElement | {
    id: string;
};
declare class ClickTone {
    private readonly fileSource;
    private readonly volume;
    private readonly callback;
    private readonly throttle;
    private readonly debug;
    private lastClickTime;
    private readonly audioCache;
    private audioContext;
    constructor({ file, volume, callback, throttle, debug, }: {
        file: FileSource;
        volume?: number;
        callback?: ((error?: Error) => void) | null;
        throttle?: number;
        debug?: boolean;
    });
    private resolveFileUrl;
    private initAudioContext;
    private iOSFixAudioContext;
    private fetchAndDecodeAudio;
    private playAudio;
    private throttleFn;
    play(file?: FileSource): void;
}
export default ClickTone;
