import type { NobjcObject } from "objc-js";
import type { _NSData } from "./NSData.js";
import type { NSRange } from "../structs/NSRange.js";
import type { NSDataCompressionAlgorithm } from "./NSDataCompressionAlgorithm.js";
export declare class _NSMutableData extends _NSData {
    static alloc(): _NSMutableData;
    static new(): _NSMutableData;
    init(): _NSMutableData;
    static dataWithCapacity$(aNumItems: number): _NSMutableData | null;
    static dataWithLength$(length: number): _NSMutableData | null;
    appendBytes$length$(bytes: Uint8Array, length: number): void;
    appendData$(other: _NSData): void;
    increaseLengthBy$(extraLength: number): void;
    replaceBytesInRange$withBytes$(range: NSRange, bytes: Uint8Array): void;
    resetBytesInRange$(range: NSRange): void;
    setData$(data: _NSData): void;
    replaceBytesInRange$withBytes$length$(range: NSRange, replacementBytes: Uint8Array | null, replacementLength: number): void;
    initWithCapacity$(capacity: number): _NSMutableData | null;
    initWithLength$(length: number): _NSMutableData | null;
    /**
     * These methods compress or decompress the receiver's contents in-place using the specified algorithm. If the operation is not successful, these methods leave the receiver unchanged..
     */
    decompressUsingAlgorithm$error$(algorithm: NSDataCompressionAlgorithm, error: NobjcObject | null): boolean;
    compressUsingAlgorithm$error$(algorithm: NSDataCompressionAlgorithm, error: NobjcObject | null): boolean;
    mutableBytes(): NobjcObject;
    length(): number;
    setLength$(value: number): void;
}
