import { Class, ObservableValue, UUID } from "@opendaw/lib-std";
import { AudioFileBox, SoundfontFileBox } from "@opendaw/studio-boxes";
import { PresetMeta } from "./PresetMeta";
export declare namespace PresetStorage {
    const observable: () => ObservableValue<ReadonlyArray<PresetMeta>>;
    const readIndex: () => Promise<ReadonlyArray<PresetMeta>>;
    const save: (meta: PresetMeta, data: ArrayBufferLike) => Promise<void>;
    const load: (uuid: UUID.Bytes) => Promise<ArrayBuffer>;
    const updateMeta: (uuid: UUID.Bytes, update: {
        name: string;
        description: string;
    }) => Promise<void>;
    const remove: (uuid: UUID.Bytes) => Promise<void>;
    const loadTrashedIds: () => Promise<Array<UUID.String>>;
    const saveTrashedIds: (ids: ReadonlyArray<UUID.String>) => Promise<void>;
    const listUsedAssets: (type: Class<AudioFileBox | SoundfontFileBox>) => Promise<Map<UUID.String, Array<string>>>;
    const rebuildIndex: () => Promise<ReadonlyArray<PresetMeta>>;
}
//# sourceMappingURL=PresetStorage.d.ts.map