import { Multiname } from '../abc/lazy/Multiname';
import { Namespace } from '../abc/lazy/Namespace';
import { AXObject } from './AXObject';
import { ASFunction } from '../nat/ASFunction';
export declare class Scope {
    readonly parent: Scope;
    readonly object: AXObject;
    readonly isWith: boolean;
    global: Scope;
    defaultNamespace: Namespace;
    private cache;
    private static ID;
    constructor(parent: Scope, object: AXObject, isWith?: boolean);
    get superConstructor(): ASFunction | Function;
    extend(object: AXObject): any;
    findDepth(object: any): number;
    getScopeObjects(): Object[];
    getScopeProperty(mn: Multiname, strict: boolean, scopeOnly: boolean): AXObject;
    findScopeProperty(mn: Multiname, strict: boolean, scopeOnly: boolean): AXObject;
    private _findScopeProperty;
    toString(): string;
}
//# sourceMappingURL=Scope.d.ts.map