export interface BaseToneOptions {
}
/**
* @class Tone is the base class of all other classes.
* @constructor
*/
export declare abstract class Tone {
/**
* The version number semver
*/
static version: string;
/**
* The name of the class
*/
protected abstract name: string;
/**
* Returns all of the default options belonging to the class.
*/
static getDefaults(): BaseToneOptions;
/**
* Set this debug flag to log all events that happen in this class.
*/
debug: boolean;
/**
* Prints the outputs to the console log for debugging purposes.
* Prints the contents only if either the object has a property
* called `debug` set to true, or a variable called TONE_DEBUG_CLASS
* is set to the name of the class.
* @example
* //prints all logs originating from Tone.OscillatorNode
* Tone.global.TONE_DEBUG_CLASS = "OscillatorNode"
*/
protected log(...args: any[]): void;
/**
* Assert that the statement is true, otherwise invoke the error.
* @param statement
* @param error The message which is passed into an Error
*/
protected assert(statement: boolean, error: string): void;
/**
* Indicates if the instance was disposed
*/
private _wasDisposed;
/**
* disconnect and dispose.
*/
dispose(): this;
/**
* Indicates if the instance was disposed. 'Disposing' an
* instance means that all of the Web Audio nodes that were
* created for the instance are disconnected and freed for garbage collection.
*/
readonly disposed: boolean;
/**
* If the `given` parameter is undefined, use the `fallback`.
* If both `given` and `fallback` are object literals, it will
* return a deep copy which includes all of the parameters from both
* objects. If a parameter is undefined in given, it will return
* the fallback property.
*
* WARNING: if object is self referential, it will go into an an
* infinite recursive loop.
* @memberOf Tone
* @param {*} given
* @param {*} fallback
* @return {*}
*/
/**
* Convert the class to a string
* @example
* const osc = new Oscillator()
* osc.toString() // "Oscillator"
*/
toString(): string;
}