import { UUID } from "@opendaw/lib-std";
import { Peaks } from "@opendaw/lib-fusion";
import { Sample, SampleMetaData } from "@opendaw/studio-adapters";
import { Storage } from "../Storage";
import { AudioData } from "@opendaw/lib-dsp";
export declare namespace SampleStorage {
    type NewSample = {
        uuid: UUID.Bytes;
        audio: AudioData;
        peaks: ArrayBuffer;
        meta: SampleMetaData;
    };
}
export declare class SampleStorage extends Storage<Sample, SampleMetaData, SampleStorage.NewSample, [AudioData, Peaks, SampleMetaData]> {
    static readonly Folder = "samples/v2";
    static get(): SampleStorage;
    private constructor();
    save({ uuid, audio, peaks, meta }: SampleStorage.NewSample): Promise<void>;
    exists(uuid: UUID.Bytes): Promise<boolean>;
    updateSampleMeta(uuid: UUID.Bytes, meta: SampleMetaData): Promise<void>;
    load(uuid: UUID.Bytes): Promise<[AudioData, Peaks, SampleMetaData]>;
}
//# sourceMappingURL=SampleStorage.d.ts.map