import type { NobjcObject } from "objc-js";
import type { _NSArray } from "./NSArray.js";
import type { _NSCoder } from "./NSCoder.js";
import type { _NSDictionary } from "./NSDictionary.js";
import type { _NSObject } from "./NSObject.js";
import type { _NSScriptCommand } from "./NSScriptCommand.js";
import type { _NSString } from "./NSString.js";
export declare class _NSScriptCommandDescription extends _NSObject {
    static alloc(): _NSScriptCommandDescription;
    static new(): _NSScriptCommandDescription;
    init(): _NSScriptCommandDescription;
    /**
     * Initialize, given a scripting suite name, command name, and command declaration dictionary of the sort that is valid in .scriptSuite property list files.
     */
    initWithSuiteName$commandName$dictionary$(suiteName: _NSString, commandName: _NSString, commandDeclaration: _NSDictionary | null): _NSScriptCommandDescription | null;
    initWithCoder$(inCoder: _NSCoder): _NSScriptCommandDescription | null;
    /**
     * Return the declared type of the named argument in instances of the described command.
     */
    typeForArgumentWithName$(argumentName: _NSString): _NSString | null;
    /**
     * Return the four character code that identifies in Apple events the declared type of the named argument in instances of the described command.
     */
    appleEventCodeForArgumentWithName$(argumentName: _NSString): number;
    /** Return YES if the named argument is declared to be optional, NO otherwise. */
    isOptionalArgumentWithName$(argumentName: _NSString): boolean;
    /** Create an instance of the described command. */
    createCommandInstance(): _NSScriptCommand;
    createCommandInstanceWithZone$(zone: NobjcObject | null): _NSScriptCommand;
    /** Return the suite name or command name provided at initialization time. */
    suiteName(): _NSString;
    commandName(): _NSString;
    /** Return the four character codes that identify the command in Apple events. */
    appleEventClassCode(): number;
    appleEventCode(): number;
    /** Return the Objective-C class name for instances of the described command. */
    commandClassName(): _NSString;
    /**
     * Return the declared type name for the result of execution of the described command, or nil if the described command is not declared to return a result.
     */
    returnType(): _NSString | null;
    /**
     * Return the four character code that identifies in Apple events the declared type of the result of execution of the described command.
     */
    appleEventCodeForReturnType(): number;
    /**
     * Return the strings valid for use as keys into argument dictionaries in instances of the described command.
     */
    argumentNames(): _NSArray;
}
