import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSBundle } from "../Foundation/NSBundle.js";
import type { _NSCoder } from "../Foundation/NSCoder.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
export declare class _NSAppearance extends _NSObject {
    static alloc(): _NSAppearance;
    static new(): _NSAppearance;
    init(): _NSAppearance;
    /**
     * Finds and returns an NSAppearance based on the name. For standard appearances such as NSAppearanceNameAqua, a built-in appearance is returned. For other names, the main bundle is searched.
     */
    static appearanceNamed$(name: _NSString): _NSAppearance | null;
    /**
     * Sets the current thread's appearance, which is used for drawing, resolving colors/images, and laying out views. Automatically set by NSView before that view's drawRect:, updateLayer, and layout methods are invoked. At other times its return value is unreliable (depending on if the previous caller restored it to a previous value after setting it). This is not the correct way to determine the 'system' appearance. Use a view's, window's, or the app's effectiveAppearance.
     * @deprecated Use -performAsCurrentDrawingAppearance: to temporarily set the drawing appearance, or +currentDrawingAppearance to access the currently drawing appearance.
     */
    static currentAppearance(): _NSAppearance;
    static setCurrentAppearance$(value: _NSAppearance): void;
    /**
     * The appearance which has been made active for drawing (usually by locking focus on a view) and is used for color and asset resolution.
     */
    static currentDrawingAppearance(): _NSAppearance;
    /**
     * Make the receiver the active drawing appearance and perform the block. Saves and restores the previous current appearance.
     */
    performAsCurrentDrawingAppearance$(block: () => void): void;
    /**
     * Creates an NSAppearance by searching the specified bundle for a file with the specified name (without path extension). If bundle is nil, the main bundle is assumed.
     */
    initWithAppearanceNamed$bundle$(name: _NSString, bundle: _NSBundle | null): _NSAppearance | null;
    initWithCoder$(coder: _NSCoder): _NSAppearance | null;
    /**
     * Given a list of appearance names, returns the one that best matches the receiver
     */
    bestMatchFromAppearancesWithNames$(appearances: _NSArray): _NSString | null;
    name(): _NSString;
    /**
     * Query allowsVibrancy to see if the given appearance actually needs vibrant drawing. You may want to draw differently if the current apperance is vibrant.
     */
    allowsVibrancy(): boolean;
}
