import { int, Observer, Option, Procedure, Subscription, Terminable, UUID } from "@opendaw/lib-std";
import { AudioData } from "@opendaw/lib-dsp";
import { Peaks } from "@opendaw/lib-fusion";
import { RingBuffer, SampleLoader, SampleLoaderState } from "@opendaw/studio-adapters";
import { SampleService } from "./samples";
export declare class RecordingWorklet extends AudioWorkletNode implements Terminable, SampleLoader {
    #private;
    readonly uuid: UUID.Bytes;
    constructor(context: BaseAudioContext, config: RingBuffer.Config);
    own<T extends Terminable>(terminable: T): T;
    limit(count: int): void;
    set onSaved(callback: Procedure<UUID.Bytes>);
    set bpm(value: number);
    set sampleService(service: SampleService);
    setFillLength(value: int): void;
    get numberOfFrames(): int;
    get data(): Option<AudioData>;
    get peaks(): Option<Peaks>;
    get state(): SampleLoaderState;
    invalidate(): void;
    subscribe(observer: Observer<SampleLoaderState>): Subscription;
    terminate(): void;
    toString(): string;
}
//# sourceMappingURL=RecordingWorklet.d.ts.map