import type { NobjcObject } from "objc-js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSCoding } from "../Foundation/NSCoding.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSDictionary } from "../Foundation/NSDictionary.js";
import type { _NSLocale } from "../Foundation/NSLocale.js";
import type { _NSMutableCopying } from "../Foundation/NSMutableCopying.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { NSFontCollectionName } from "./NSFontCollectionName.js";
import type { NSFontCollectionVisibility } from "./NSFontCollectionVisibility.js";
export declare class _NSFontCollection extends _NSObject {
    static alloc(): _NSFontCollection;
    static new(): _NSFontCollection;
    init(): _NSFontCollection;
    /** Creating collections Return a font collection matching the given descriptors */
    static fontCollectionWithDescriptors$(queryDescriptors: _NSArray): _NSFontCollection;
    /** Return a collection with fonts for the specified locale. */
    static fontCollectionWithLocale$(locale: _NSLocale): _NSFontCollection | null;
    /** Make the font collection visible by giving it a name */
    static showFontCollection$withName$visibility$error$(collection: _NSFontCollection, name: NSFontCollectionName, visibility: NSFontCollectionVisibility, error: NobjcObject | null): boolean;
    /**
     * Remove font collection from view (for a persistent collection, deletes the named font collection from disk)
     */
    static hideFontCollectionWithName$visibility$error$(name: NSFontCollectionName, visibility: NSFontCollectionVisibility, error: NobjcObject | null): boolean;
    /** Rename named collection */
    static renameFontCollectionWithName$visibility$toName$error$(oldName: NSFontCollectionName, visibility: NSFontCollectionVisibility, newName: NSFontCollectionName, outError: NobjcObject | null): boolean;
    /** Return the specified named collection */
    static fontCollectionWithName$(name: NSFontCollectionName): _NSFontCollection | null;
    /** Return the specified named collection with specified visibility */
    static fontCollectionWithName$visibility$(name: NSFontCollectionName, visibility: NSFontCollectionVisibility): _NSFontCollection | null;
    /** Return a font collection matching all registered fonts */
    static fontCollectionWithAllAvailableDescriptors(): _NSFontCollection;
    /** Named collections visible to this process (array of NSString) */
    static allFontCollectionNames(): _NSArray;
    matchingDescriptorsWithOptions$(options: _NSDictionary | null): _NSArray | null;
    /** Return a list of matching descriptors for a particular family */
    matchingDescriptorsForFamily$(family: _NSString): _NSArray | null;
    matchingDescriptorsForFamily$options$(family: _NSString, options: _NSDictionary | null): _NSArray | null;
    /**
     * The list of NSFontDescriptors to match. The matching descriptors are produced by matching this list of descriptors.
     */
    queryDescriptors(): _NSArray | null;
    /**
     * A separate list of query descriptors. The matching results from this list are excluded from matchingDescriptors.
     */
    exclusionDescriptors(): _NSArray | null;
    /**
     * Returns a list of descriptors matching the logical descriptors. These are determined at runtime as (matching queryDescriptors - matching exclusionDescriptors). options may be nil or a dictionary containing any combination of {NSFontCollectionIncludeDisabledFontsOption, NSFontCollectionRemoveDuplicatesOption, NSFontCollectionDisallowAutoActivationOption}.
     */
    matchingDescriptors(): _NSArray | null;
}
export interface _NSFontCollection extends _NSCopying, _NSMutableCopying, _NSCoding {
}
