import type { NobjcObject } from "objc-js";
import type { _NSArray } from "./NSArray.js";
import type { _NSCopying } from "./NSCopying.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSObject } from "./NSObject.js";
import type { _NSSecureCoding } from "./NSSecureCoding.js";
import type { _NSString } from "./NSString.js";
import type { NSExceptionName } from "./NSExceptionName.js";
export declare class _NSException extends _NSObject {
    static alloc(): _NSException;
    static new(): _NSException;
    init(): _NSException;
    static exceptionWithName$reason$userInfo$(name: NSExceptionName, reason: _NSString | null, userInfo: _NSDictionary | null): _NSException;
    static raise$format$(name: NSExceptionName, format: _NSString): void;
    static raise$format$arguments$(name: NSExceptionName, format: _NSString, argList: NobjcObject): void;
    initWithName$reason$userInfo$(aName: NSExceptionName, aReason: _NSString | null, aUserInfo: _NSDictionary | null): _NSException;
    raise(): void;
    name(): NSExceptionName;
    reason(): _NSString | null;
    userInfo(): _NSDictionary | null;
    callStackReturnAddresses(): _NSArray;
    callStackSymbols(): _NSArray;
}
export interface _NSException extends _NSCopying, _NSSecureCoding {
}
