import type { NobjcObject } from "objc-js";
import type { _NSArray } from "./NSArray.js";
import type { _NSAttributedString } from "./NSAttributedString.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSObject } from "./NSObject.js";
import type { _NSSet } from "./NSSet.js";
import type { _NSString } from "./NSString.js";
import type { _NSURL } from "./NSURL.js";
export declare class _NSBundle extends _NSObject {
    static alloc(): _NSBundle;
    static new(): _NSBundle;
    init(): _NSBundle;
    static bundleWithPath$(path: _NSString): _NSBundle | null;
    static bundleWithURL$(url: _NSURL): _NSBundle | null;
    static bundleForClass$(aClass: NobjcObject): _NSBundle;
    static bundleWithIdentifier$(identifier: _NSString): _NSBundle | null;
    /**
     * Methods for locating bundle resources. Instance methods locate resources in the bundle indicated by the receiver; class methods take an argument pointing to a bundle on disk. In the class methods, bundleURL is a URL pointing to the location of a bundle on disk, and may not be nil; bundlePath is the path equivalent of bundleURL, an absolute path pointing to the location of a bundle on disk. By contrast, subpath is a relative path to a subdirectory inside the relevant global or localized resource directory, and should be nil if the resource file in question is not in a subdirectory. Where appropriate, localizationName is the name of a .lproj directory in the bundle, minus the .lproj extension; passing nil for localizationName retrieves only global resources, whereas using a method without this argument retrieves both global and localized resources (using the standard localization search algorithm).
     */
    static URLForResource$withExtension$subdirectory$inBundleWithURL$(name: _NSString | null, ext: _NSString | null, subpath: _NSString | null, bundleURL: _NSURL): _NSURL | null;
    static URLsForResourcesWithExtension$subdirectory$inBundleWithURL$(ext: _NSString | null, subpath: _NSString | null, bundleURL: _NSURL): _NSArray | null;
    static pathForResource$ofType$inDirectory$(name: _NSString | null, ext: _NSString | null, bundlePath: _NSString): _NSString | null;
    static pathsForResourcesOfType$inDirectory$(ext: _NSString | null, bundlePath: _NSString): _NSArray;
    static preferredLocalizationsFromArray$(localizationsArray: _NSArray): _NSArray;
    static preferredLocalizationsFromArray$forPreferences$(localizationsArray: _NSArray, preferencesArray: _NSArray | null): _NSArray;
    /** Methods for creating or retrieving bundle instances. */
    static mainBundle(): _NSBundle;
    static allBundles(): _NSArray;
    static allFrameworks(): _NSArray;
    initWithPath$(path: _NSString): _NSBundle | null;
    initWithURL$(url: _NSURL): _NSBundle | null;
    unload(): boolean;
    preflightAndReturnError$(error: NobjcObject | null): boolean;
    loadAndReturnError$(error: NobjcObject | null): boolean;
    URLForAuxiliaryExecutable$(executableName: _NSString): _NSURL | null;
    pathForAuxiliaryExecutable$(executableName: _NSString): _NSString | null;
    URLForResource$withExtension$(name: _NSString | null, ext: _NSString | null): _NSURL | null;
    URLForResource$withExtension$subdirectory$(name: _NSString | null, ext: _NSString | null, subpath: _NSString | null): _NSURL | null;
    URLForResource$withExtension$subdirectory$localization$(name: _NSString | null, ext: _NSString | null, subpath: _NSString | null, localizationName: _NSString | null): _NSURL | null;
    URLsForResourcesWithExtension$subdirectory$(ext: _NSString | null, subpath: _NSString | null): _NSArray | null;
    URLsForResourcesWithExtension$subdirectory$localization$(ext: _NSString | null, subpath: _NSString | null, localizationName: _NSString | null): _NSArray | null;
    pathForResource$ofType$(name: _NSString | null, ext: _NSString | null): _NSString | null;
    pathForResource$ofType$inDirectory$(name: _NSString | null, ext: _NSString | null, subpath: _NSString | null): _NSString | null;
    pathForResource$ofType$inDirectory$forLocalization$(name: _NSString | null, ext: _NSString | null, subpath: _NSString | null, localizationName: _NSString | null): _NSString | null;
    pathsForResourcesOfType$inDirectory$(ext: _NSString | null, subpath: _NSString | null): _NSArray;
    pathsForResourcesOfType$inDirectory$forLocalization$(ext: _NSString | null, subpath: _NSString | null, localizationName: _NSString | null): _NSArray;
    /** Methods for retrieving localized strings. */
    localizedStringForKey$value$table$(key: _NSString, value: _NSString | null, tableName: _NSString | null): _NSString;
    localizedAttributedStringForKey$value$table$(key: _NSString, value: _NSString | null, tableName: _NSString | null): _NSAttributedString;
    /**
     * Look up a localized string given a list of available localizations. - Parameters: - key: The key for the localized string to retrieve. - value: A default value to return if a localized string for ``key`` cannot be found. - tableName: The name of the strings file to search. If `nil`, the method uses tables in `Localizable.strings`. - localizations: An array of BCP 47 language codes corresponding to available localizations. Bundle compares the array against its available localizations, and uses the best result to retrieve the localized string. If empty, we treat it as no localization is available, and may return a fallback. - Returns: A localized version of the string designated by ``key`` in table ``tableName``.
     */
    localizedStringForKey$value$table$localizations$(key: _NSString, value: _NSString | null, tableName: _NSString | null, localizations: _NSArray): _NSString;
    objectForInfoDictionaryKey$(key: _NSString): NobjcObject | null;
    classNamed$(className: _NSString): NobjcObject | null;
    /**
     * Set a preservation priority for tags that are included in this bundle for the On Demand Resources system. Preservation priorities may be between 0.0 and 1.0, with higher values being the last choice for purging by the system. The exact meaning of this value is up to your application as it only has meaning within the set of tags your application uses. The default value is 0.0. This method will throw an exception if the receiver bundle has no on demand resource tag information.
     */
    setPreservationPriority$forTags$(priority: number, tags: _NSSet): void;
    preservationPriorityForTag$(tag: _NSString): number;
    loaded(): boolean;
    /** Methods for locating various components of a bundle. */
    bundleURL(): _NSURL;
    resourceURL(): _NSURL | null;
    executableURL(): _NSURL | null;
    privateFrameworksURL(): _NSURL | null;
    /**
     * @deprecated Use AppTransaction.shared and Transaction.all from StoreKit.framework instead
     */
    sharedFrameworksURL(): _NSURL | null;
    /**
     * @deprecated Use AppTransaction.shared and Transaction.all from StoreKit.framework instead
     */
    sharedSupportURL(): _NSURL | null;
    /**
     * @deprecated Use AppTransaction.shared and Transaction.all from StoreKit.framework instead
     */
    builtInPlugInsURL(): _NSURL | null;
    appStoreReceiptURL(): _NSURL | null;
    bundlePath(): _NSString;
    resourcePath(): _NSString | null;
    executablePath(): _NSString | null;
    privateFrameworksPath(): _NSString | null;
    sharedFrameworksPath(): _NSString | null;
    sharedSupportPath(): _NSString | null;
    builtInPlugInsPath(): _NSString | null;
    /** Methods for obtaining various information about a bundle. */
    bundleIdentifier(): _NSString | null;
    infoDictionary(): _NSDictionary | null;
    localizedInfoDictionary(): _NSDictionary | null;
    principalClass(): NobjcObject | null;
    /**
     * a subset of this bundle's localizations, re-ordered into the preferred order for this process's current execution environment; the main bundle's preferred localizations indicate the language (of text) the user is most likely seeing in the UI
     */
    preferredLocalizations(): _NSArray;
    /** list of language names this bundle appears to be localized to */
    localizations(): _NSArray;
    developmentLocalization(): _NSString | null;
    executableArchitectures(): _NSArray | null;
}
