import { NativeNDArray, NDArrayInt32 } from "./NDArray";
interface NativeOffsetBlockedIntBuffer {
    offsets(): NativeNDArray<Int32Array>;
    data(): NativeNDArray<Int32Array>;
    size(): number;
    get(i: number): NativeNDArray<Int32Array>;
    destroy(): void;
    is_valid(): boolean;
    delete(): void;
}
/**
 * A WASM-resident offset-blocked buffer of int32 values.
 *
 * Wraps two flat arrays (offsets + data) where block i spans
 * data[offsets[i] .. offsets[i+1]]. Access and iteration use
 * JS-side subarray views — no C++ calls per element.
 *
 * Used for topology structures: faceMembership, faceLink, vertexLink.
 */
export declare class OffsetBlockedBuffer {
    /** @internal */
    readonly _handle: NativeOffsetBlockedIntBuffer;
    /** @internal */
    constructor(handle: NativeOffsetBlockedIntBuffer);
    /** Number of blocks. */
    get length(): number;
    /** Offsets array [N+1] as NDArrayInt32. */
    get offsets(): NDArrayInt32;
    /** Flat data array as NDArrayInt32. */
    get data(): NDArrayInt32;
    /** Returns block i as NDArrayInt32. */
    get(i: number): NDArrayInt32;
    /** Iterate over blocks as NDArrayInt32. */
    [Symbol.iterator](): Iterator<NDArrayInt32>;
    delete(): void;
    [Symbol.dispose](): void;
}
export {};
//# sourceMappingURL=OffsetBlockedBuffer.d.ts.map