import type { NobjcObject } from "objc-js";
import type { _NSAttributedString } from "./NSAttributedString.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSMutableString } from "./NSMutableString.js";
import type { _NSString } from "./NSString.js";
import type { NSRange } from "../structs/NSRange.js";
export declare class _NSMutableAttributedString extends _NSAttributedString {
    static alloc(): _NSMutableAttributedString;
    static new(): _NSMutableAttributedString;
    init(): _NSMutableAttributedString;
    /**
     * Override these two APIs (in addition to the two for NSAttributedString) when subclassing NSMutableAttributedString
     */
    replaceCharactersInRange$withString$(range: NSRange, str: _NSString): void;
    setAttributes$range$(attrs: _NSDictionary | null, range: NSRange): void;
    addAttribute$value$range$(name: _NSString, value: NobjcObject, range: NSRange): void;
    addAttributes$range$(attrs: _NSDictionary, range: NSRange): void;
    removeAttribute$range$(name: _NSString, range: NSRange): void;
    replaceCharactersInRange$withAttributedString$(range: NSRange, attrString: _NSAttributedString): void;
    insertAttributedString$atIndex$(attrString: _NSAttributedString, loc: number): void;
    appendAttributedString$(attrString: _NSAttributedString): void;
    deleteCharactersInRange$(range: NSRange): void;
    setAttributedString$(attrString: _NSAttributedString): void;
    beginEditing(): void;
    endEditing(): void;
    /**
     * Formats the specified string and arguments with the current locale, then appends the result to the receiver.
     */
    appendLocalizedFormat$(format: _NSAttributedString): void;
    mutableString(): _NSMutableString;
}
