import { AXApplicationDomain } from "./AXApplicationDomain"; import { ClassAliases } from "../amf"; import { AXClass } from "./AXClass"; import { AXMethodClosureClass } from "./AXMethodClosureClass"; import { AXXMLClass } from "./AXXMLClass"; import { AXXMLListClass } from "./AXXMLListClass"; import { AXQNameClass } from "./AXQNameClass"; import { AXNamespaceClass } from "./AXNamespaceClass"; import { GenericVector } from "../natives/GenericVector"; import { Int32Vector } from "../natives/int32Vector"; import { Uint32Vector } from "../natives/uint32Vector"; import { Float64Vector } from "../natives/float64Vector"; import { XMLParser } from "../natives/xml"; import { AXObject } from "./AXObject"; import { ABCCatalog } from "../abc/lazy/ABCCatalog"; import { Multiname } from "../abc/lazy/Multiname"; import { ABCFile } from "../abc/lazy/ABCFile"; import { ClassInfo } from "../abc/lazy/ClassInfo"; import { MethodInfo } from "../abc/lazy/MethodInfo"; import { ExceptionInfo } from "../abc/lazy/ExceptionInfo"; import { ScriptInfo } from "../abc/lazy/ScriptInfo"; import { Scope } from "./Scope"; import { AXFunction } from "./AXFunction"; import { AXCallable } from "./AXCallable"; import { AXActivation } from "./AXActivation"; import { AXCatch } from "./AXCatch"; import { AXGlobal } from "./AXGlobal"; import { ISecurityDomain } from '../../avm1/ISecurityDomain'; /** * Provides security isolation between application domains. */ export declare class AXSecurityDomain implements ISecurityDomain { static instance: ISecurityDomain; system: AXApplicationDomain; application: AXApplicationDomain; classAliases: ClassAliases; AXObject: AXClass; AXArray: AXClass; AXClass: AXClass; AXFunction: AXClass; AXMethodClosure: AXMethodClosureClass; AXError: AXClass; AXNumber: AXClass; AXString: AXClass; AXBoolean: AXClass; AXRegExp: AXClass; AXMath: AXClass; AXDate: AXClass; AXXML: AXXMLClass; AXXMLList: AXXMLListClass; AXNamespace: AXNamespaceClass; AXQName: AXQNameClass; ObjectVector: typeof GenericVector; Int32Vector: typeof Int32Vector; Uint32Vector: typeof Uint32Vector; Float64Vector: typeof Float64Vector; static AXSecurityDomain: ISecurityDomain; get xmlParser(): XMLParser; private _xmlParser; private AXPrimitiveBox; private AXGlobalPrototype; private AXActivationPrototype; private AXCatchPrototype; private _AXFunctionUndefinedPrototype; get AXFunctionUndefinedPrototype(): any; objectPrototype: AXObject; argumentsPrototype: AXObject; private rootClassPrototype; private nativeClasses; private vectorClasses; private _catalogs; flash: any; player: any; constructor(); addCatalog(abcCatalog: ABCCatalog): void; findDefiningABC(mn: Multiname): ABCFile; throwError(className: string, error: any, replacement1?: any, replacement2?: any, replacement3?: any, replacement4?: any): void; createError(className: string, error: any, replacement1?: any, replacement2?: any, replacement3?: any, replacement4?: any): AXObject; applyType(axClass: AXClass, types: AXClass[]): AXClass; getVectorClass(type: AXClass): AXClass; createVectorClass(type: AXClass): AXClass; /** * Constructs a plain vanilla object in this security domain. */ createObject(): any; /** * Takes a JS Object and transforms it into an AXObject. */ createObjectFromJS(value: Object, deep?: boolean): any; /** * Constructs an AXArray in this security domain and sets its value to the given array. * Warning: This doesn't handle non-indexed keys. */ createArrayUnsafe(value: any[]): any; /** * Constructs an AXArray in this security domain and copies all enumerable properties of * the given array, setting them as public properties on the AXArray. * Warning: this does not use the given Array as the `value`. */ createArray(value: any[]): any; /** * Constructs an AXFunction in this security domain and sets its value to the given function. */ boxFunction(value: Function): any; createClass(classInfo: ClassInfo, superClass: AXClass, scope: Scope): AXClass; private initializeRuntimeTraits; createFunction(methodInfo: MethodInfo, scope: Scope, hasDynamicScope: boolean): AXFunction; createInitializerFunction(classInfo: ClassInfo, scope: Scope): AXCallable; createActivation(methodInfo: MethodInfo, scope: Scope): AXActivation; createCatch(exceptionInfo: ExceptionInfo, scope: Scope): AXCatch; box(v: any): any; isPrimitive(v: any): any; createAXGlobal(applicationDomain: AXApplicationDomain, scriptInfo: ScriptInfo): AXGlobal; /** * Prepares the dynamic Class prototype that all Class instances (including Class) have in * their prototype chain. * * This prototype defines the default hooks for all classes. Classes can override some or * all of them. */ prepareRootClassPrototype(): void; private initializeCoreNatives; prepareNativeClass(exportName: string, name: string, isPrimitiveClass: boolean): AXClass; preparePrimitiveClass(exportName: string, name: string, convert: any, defaultValue: any, coerce: any, isType: any, isInstanceOf: any): AXClass; /** * Configures all the builtin Objects. */ initialize(): void; }