export interface EdgeSlice {
    ptr: number;
    len: number;
    cap: number;
}
export declare class EdgeArena {
    private buffer;
    private freeList;
    private maxFreeCapacity;
    private nextPtr;
    reset(): void;
    empty(): EdgeSlice;
    alloc(size: number): EdgeSlice;
    replace(slice: EdgeSlice, nextValues: Uint32Array | readonly number[]): EdgeSlice;
    replaceSmall(slice: EdgeSlice, length: 0 | 1 | 2, value0?: number, value1?: number): EdgeSlice;
    replaceWith(slice: EdgeSlice, length: number, writeValues: (buffer: Uint32Array, ptr: number) => void): EdgeSlice;
    read(slice: EdgeSlice): Uint32Array;
    readView(slice: EdgeSlice): Uint32Array;
    singleton(value: number): EdgeSlice;
    valueAt(slice: EdgeSlice, index: number): number;
    copyTo(slice: EdgeSlice, target: Uint32Array): number;
    singletonValue(slice: EdgeSlice): number;
    view(): Uint32Array;
    appendUnique(slice: EdgeSlice, value: number): EdgeSlice;
    appendKnownUnique(slice: EdgeSlice, value: number): EdgeSlice;
    removeValue(slice: EdgeSlice, value: number): EdgeSlice;
    free(slice: EdgeSlice): void;
    private ensureCapacity;
    private recomputeMaxFreeCapacity;
}
