import type { NobjcObject } from "objc-js";
import type { _NSArray } from "./NSArray.js";
import type { _NSCoder } from "./NSCoder.js";
import type { _NSIndexSet } from "./NSIndexSet.js";
import type { _NSOrderedCollectionDifference } from "./NSOrderedCollectionDifference.js";
import type { _NSOrderedSet } from "./NSOrderedSet.js";
import type { _NSPredicate } from "./NSPredicate.js";
import type { _NSSet } from "./NSSet.js";
import type { NSRange } from "../structs/NSRange.js";
import type { NSSortOptions } from "./NSSortOptions.js";
export declare class _NSMutableOrderedSet extends _NSOrderedSet {
    static alloc(): _NSMutableOrderedSet;
    static new(): _NSMutableOrderedSet;
    static orderedSetWithCapacity$(numItems: number): _NSMutableOrderedSet;
    insertObject$atIndex$(object_: NobjcObject, idx: number): void;
    removeObjectAtIndex$(idx: number): void;
    replaceObjectAtIndex$withObject$(idx: number, object_: NobjcObject): void;
    initWithCoder$(coder: _NSCoder): _NSMutableOrderedSet | null;
    init(): _NSMutableOrderedSet;
    initWithCapacity$(numItems: number): _NSMutableOrderedSet;
    addObject$(object_: NobjcObject): void;
    addObjects$count$(objects: NobjcObject | null, count: number): void;
    addObjectsFromArray$(array: _NSArray): void;
    exchangeObjectAtIndex$withObjectAtIndex$(idx1: number, idx2: number): void;
    moveObjectsAtIndexes$toIndex$(indexes: _NSIndexSet, idx: number): void;
    insertObjects$atIndexes$(objects: _NSArray, indexes: _NSIndexSet): void;
    setObject$atIndex$(obj: NobjcObject, idx: number): void;
    setObject$atIndexedSubscript$(obj: NobjcObject, idx: number): void;
    replaceObjectsInRange$withObjects$count$(range: NSRange, objects: NobjcObject | null, count: number): void;
    replaceObjectsAtIndexes$withObjects$(indexes: _NSIndexSet, objects: _NSArray): void;
    removeObjectsInRange$(range: NSRange): void;
    removeObjectsAtIndexes$(indexes: _NSIndexSet): void;
    removeAllObjects(): void;
    removeObject$(object_: NobjcObject): void;
    removeObjectsInArray$(array: _NSArray): void;
    intersectOrderedSet$(other: _NSOrderedSet): void;
    minusOrderedSet$(other: _NSOrderedSet): void;
    unionOrderedSet$(other: _NSOrderedSet): void;
    intersectSet$(other: _NSSet): void;
    minusSet$(other: _NSSet): void;
    unionSet$(other: _NSSet): void;
    sortUsingComparator$(cmptr: (arg0: NobjcObject, arg1: NobjcObject) => number): void;
    sortWithOptions$usingComparator$(opts: NSSortOptions, cmptr: (arg0: NobjcObject, arg1: NobjcObject) => number): void;
    sortRange$options$usingComparator$(range: NSRange, opts: NSSortOptions, cmptr: (arg0: NobjcObject, arg1: NobjcObject) => number): void;
    applyDifference$(difference: _NSOrderedCollectionDifference): void;
    /** sorts the ordered set itself */
    sortUsingDescriptors$(sortDescriptors: _NSArray): void;
    /**
     * evaluate a predicate against an ordered set of objects and filter the mutable ordered set directly
     */
    filterUsingPredicate$(p: _NSPredicate): void;
}
