import type { NobjcObject } from "objc-js";
import type { _NSAppleEventDescriptor } from "../Foundation/NSAppleEventDescriptor.js";
import type { _NSArray } from "../Foundation/NSArray.js";
import type { _NSAttributedString } from "../Foundation/NSAttributedString.js";
import type { _NSCopying } from "../Foundation/NSCopying.js";
import type { _NSData } from "../Foundation/NSData.js";
import type { _NSObject } from "../Foundation/NSObject.js";
import type { _NSString } from "../Foundation/NSString.js";
import type { _NSURL } from "../Foundation/NSURL.js";
import type { _OSALanguage } from "./OSALanguage.js";
import type { _OSALanguageInstance } from "./OSALanguageInstance.js";
import type { OSAStorageOptions } from "./OSAStorageOptions.js";
export declare class _OSAScript extends _NSObject {
    static alloc(): _OSAScript;
    static new(): _OSAScript;
    init(): _OSAScript;
    /**
     * Given a URL that locates a compiled script, script application, or script source, create and return an autoreleased script data descriptor with its contents. You may use the descriptor to create a script with -[OSAScript initWithScriptDataDescriptor:...]. This enables you to create a script with a specific OSALanguageInstance. You may use +[OSALanguage languageForScriptDataDescriptor:] to get the language for the script data, which may then be used to create or select an appropriate language instance for an OSAScript. Script source data may be compiled by -[OSAScript initWithScriptDataDescriptor:...], or you can coerce the descriptor to a string (using NSAppleEventDescriptor methods) and explicitly create an OSAScript with the source.
     */
    static scriptDataDescriptorWithContentsOfURL$(url: _NSURL): _NSAppleEventDescriptor | null;
    /**
     * fromURL: arguments are optional and may be nil. URL arguments may be used to indicate the origin of scripts. In AppleScript, for example, this URL may be used for the value of "path to me", unless you use the OSADontSetScriptLocation storage option. languageInstance: parameters are optional and may be nil, in which case the shared instance of the current default language will be used.
     */
    initWithSource$(source: _NSString): _OSAScript;
    initWithSource$language$(source: _NSString, language: _OSALanguage | null): _OSAScript;
    initWithSource$fromURL$languageInstance$usingStorageOptions$(source: _NSString, url: _NSURL | null, instance: _OSALanguageInstance | null, storageOptions: OSAStorageOptions): _OSAScript;
    initWithContentsOfURL$error$(url: _NSURL, errorInfo: NobjcObject | null): _OSAScript | null;
    initWithContentsOfURL$language$error$(url: _NSURL, language: _OSALanguage, errorInfo: NobjcObject | null): NobjcObject;
    initWithContentsOfURL$languageInstance$usingStorageOptions$error$(url: _NSURL, instance: _OSALanguageInstance | null, storageOptions: OSAStorageOptions, errorInfo: NobjcObject | null): _OSAScript | null;
    initWithCompiledData$error$(data: _NSData, errorInfo: NobjcObject | null): NobjcObject;
    initWithCompiledData$fromURL$usingStorageOptions$error$(data: _NSData, url: _NSURL | null, storageOptions: OSAStorageOptions, errorInfo: NobjcObject | null): _OSAScript | null;
    initWithScriptDataDescriptor$fromURL$languageInstance$usingStorageOptions$error$(data: _NSAppleEventDescriptor, url: _NSURL | null, instance: _OSALanguageInstance | null, storageOptions: OSAStorageOptions, errorInfo: NobjcObject | null): _OSAScript | null;
    /** Operations */
    compileAndReturnError$(errorInfo: NobjcObject | null): boolean;
    executeAndReturnError$(errorInfo: NobjcObject | null): _NSAppleEventDescriptor | null;
    executeAppleEvent$error$(event: _NSAppleEventDescriptor, errorInfo: NobjcObject | null): _NSAppleEventDescriptor | null;
    executeAndReturnDisplayValue$error$(displayValue: NobjcObject | null, errorInfo: NobjcObject | null): _NSAppleEventDescriptor | null;
    executeHandlerWithName$arguments$error$(name: _NSString, arguments_: _NSArray, errorInfo: NobjcObject | null): _NSAppleEventDescriptor | null;
    richTextFromDescriptor$(descriptor: _NSAppleEventDescriptor): _NSAttributedString | null;
    writeToURL$ofType$error$(url: _NSURL, type: _NSString, errorInfo: NobjcObject | null): boolean;
    writeToURL$ofType$usingStorageOptions$error$(url: _NSURL, type: _NSString, storageOptions: OSAStorageOptions, errorInfo: NobjcObject | null): boolean;
    compiledDataForType$usingStorageOptions$error$(type: _NSString, storageOptions: OSAStorageOptions, errorInfo: NobjcObject | null): _NSData | null;
    /** Accessors */
    source(): _NSString;
    url(): _NSURL | null;
    language(): _OSALanguage;
    setLanguage$(value: _OSALanguage): void;
    languageInstance(): _OSALanguageInstance;
    setLanguageInstance$(value: _OSALanguageInstance): void;
    compiled(): boolean;
    richTextSource(): _NSAttributedString | null;
}
export interface _OSAScript extends _NSCopying {
}
