import { DataType, Series } from "@synnaxlabs/x";
export interface DynamicWriteResponse {
    flushed: Series[];
    allocated: Series[];
}
/**
 * A cache for channel data that maintains a single, rolling Series as a buffer
 * for channel data.
 */
export declare class Dynamic {
    buffer: Series | null;
    private readonly cap;
    private readonly dataType;
    private counter;
    /**
     * @constructor
     *
     * @param cap - The capacity of the cache buffer.
     * @param dataType - The data type of the channel.
     */
    constructor(cap: number, dataType: DataType);
    /** @returns the number of samples currenly held in the cache. */
    get length(): number;
    /**
     * Writes the given arrays to the cache.
     *
     * @returns a list of buffers that were filled by the cache during the write. If
     * the current buffer is able to fit all writes, no buffers will be returned.
     */
    write(series: Series[]): DynamicWriteResponse;
    private allocate;
    private _write;
    close(): void;
}
