import { AuphBuffer, u31 } from "../protocol/interface";
import { Obj } from "./common";
export interface CallbackBuffer {
    b: AudioBuffer;
}
export declare type BufferData = string | AudioBuffer | null;
export declare class BufferObj implements Obj {
    h: u31;
    s: u31;
    b: BufferData;
    _f: u31;
    _u: u31;
    constructor(h: u31, s: u31, b: BufferData, _f?: u31, _u?: u31);
}
export declare let buffers: (BufferObj | null)[];
export declare function getNextBufferObj(): AuphBuffer | 0;
export declare function _bufferDestroy(obj: BufferObj): void;
export declare function _getBufferObj(buffer: AuphBuffer): BufferObj | null;
export declare function _bufferMemory(obj: BufferObj, ctx: AudioContext, data: Uint8Array, flags: u31): void;
export declare function _buffer_set_callback(obj: BufferObj, ctx: AudioContext, f: u31, u: u31): void;
export declare function _bufferLoad(obj: BufferObj, ctx: AudioContext, filepath: string, flags: u31): void;
