declare class WaveFile {
    fmt: any;
    data: any;
    bitDepth: string;
    container: string;

    constructor(buffer?: ArrayBuffer);

    fromBuffer(buffer: ArrayBuffer): void;
    toBuffer(): ArrayBuffer;
    fromBase64(base64String: string): void;
    toBase64(): string;
    fromDataURI(dataUri: string): void;
    toDataURI(): string;

    toBitDepth(bitDepth: string, dithered?: boolean): void;
    toSampleRate(sampleRate: number, options?: object): void;
    toRIFF(): void;
    toRIFX(): void;

    toALaw(): void;
    fromALaw(bitDepth?: string): void;
    toMuLaw(): void;
    fromMuLaw(bitDepth?: string): void;
    toIMAADPCM(): void;
    fromIMAADPCM(bitDepth?: string): void;

    getSamples(interleaved?: boolean): number[][];
}

export { WaveFile };