/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { Writeable } from '../Types';
import { LazyResizableTypedArray } from '../LazyResizableTypedArray';
type WriteableNumberArrayLike = Writeable<ArrayLike<number>>;
export declare abstract class BitArray {
    protected readonly _ref: {
        buffer: WriteableNumberArrayLike;
    };
    readonly bytesPerElement: number;
    protected static readonly _bitCountPerByte = 8;
    readonly bitCountPerArrayElement: number;
    constructor(_ref: {
        buffer: WriteableNumberArrayLike;
    }, bytesPerElement: number);
    get bitCount(): number;
    get byteCount(): number;
    get(index: number): boolean;
    abstract set(index: number, truthy: unknown): BitArray;
    toBinaryStrings(): string[];
    abstract clear(): void;
}
export declare class DenseBitArray<A extends Int8Array | Int16Array | Int32Array> extends BitArray {
    private readonly _lazyResizable;
    constructor(_lazyResizable: LazyResizableTypedArray<number, A>);
    setMinLength(bitMinLength: number): void;
    set(index: number, truthy: unknown): BitArray;
    clear(): void;
}
export declare class SparseBitArray extends BitArray {
    constructor();
    set(index: number, truthy: unknown): BitArray;
    clear(): void;
}
export {};
//# sourceMappingURL=bit-array.d.ts.map