import { AniraWasmInstance } from '../../factory';
import { BaseWrapper } from '../BaseWrapper';
/**
 * TypeScript wrapper for anira::RingBuffer
 * Thread-safe C API wrapper
 */
export declare class RingBuffer extends BaseWrapper {
    constructor(wasmInstance: AniraWasmInstance);
    /** Free the underlying C++ object. See :ref:`lifecycle-and-cleanup` for when to call this. */
    destroy(): void;
    /** Mirrors :cpp:func:`anira::RingBuffer::initialize_with_positions`. */
    initializeWithPositions(numChannels: number, numSamples: number): void;
    /** Mirrors :cpp:func:`anira::RingBuffer::clear_with_positions`. */
    clearWithPositions(): void;
    /** Mirrors :cpp:func:`anira::RingBuffer::push_sample`. */
    pushSample(channel: number, sample: number): void;
    /** Mirrors :cpp:func:`anira::RingBuffer::pop_sample`. */
    popSample(channel: number): number;
    /** Mirrors :cpp:func:`anira::RingBuffer::get_future_sample`. */
    getFutureSample(channel: number, offset: number): number;
    /** Mirrors :cpp:func:`anira::RingBuffer::get_past_sample`. */
    getPastSample(channel: number, offset: number): number;
    /** Mirrors :cpp:func:`anira::RingBuffer::get_available_samples`. */
    getAvailableSamples(channel: number): number;
    /** Mirrors :cpp:func:`anira::RingBuffer::get_available_past_samples`. */
    getAvailablePastSamples(channel: number): number;
}
//# sourceMappingURL=RingBuffer.d.ts.map