import { TTypedArrayCtor } from "../../array/typed-array/t-typed-array-ctor.js";
import { IEmscriptenWrapper } from "../emscripten/i-emscripten-wrapper.js";
import { IdSpecialization } from "../../runtime/rtti-interop.js";
import type { IJsUtilBindings } from "../i-js-util-bindings.js";
import { type IManagedResourceNode } from "../../lifecycle/manged-resources.js";
import { SharedBufferView } from "../shared-memory/shared-buffer-view.js";
import type { ISharedArray } from "../shared-array/i-shared-array.js";
import type { IResizableArrayBindings } from "./i-resizable-array-bindings.js";
/**
 * @public
 */
export declare const resizableArraySpecialization: IdSpecialization;
/**
 * @public
 * Typed array shared between wasm and javascript, unlike {@link SharedArray}, resizing is possible.
 */
export declare class ResizableArray<TCtor extends TTypedArrayCtor> extends SharedBufferView<TCtor> implements ISharedArray<TCtor> {
    static createOne<TCtor extends TTypedArrayCtor>(wrapper: IEmscriptenWrapper<IResizableArrayBindings & IJsUtilBindings>, containerType: TCtor, bindToReference: IManagedResourceNode | null, length: number): ResizableArray<TCtor>;
    readonly length: number;
    readonly pointer: number;
    private readonly cleanup;
}
//# sourceMappingURL=resizable-array.d.ts.map