import { Multiname } from '../abc/lazy/Multiname';
import { ASObject } from '../nat/ASObject';
import { Bytecode } from '../abc/ops';
/**
 * The Proxy class lets you override the default behavior of ActionScript operations
 * (such as retrieving and modifying properties) on an object.
 */
export declare class ASProxy extends ASObject {
    static classInitializer(): void;
    native_getProperty(): void;
    native_setProperty(): void;
    native_callProperty(): void;
    native_hasProperty(): void;
    native_deleteProperty(): void;
    native_getDescendants(): void;
    native_nextNameIndex(): void;
    native_nextName(): void;
    native_nextValue(): void;
    axGetProperty(mn: Multiname): any;
    axGetNumericProperty(name: number): any;
    axSetNumericProperty(name: number, value: any): void;
    axSetProperty(mn: Multiname, value: any, bc: Bytecode): void;
    axCallProperty(mn: Multiname, args: any[], isLex: boolean): any;
    axHasProperty(mn: Multiname): any;
    axHasPublicProperty(nm: string): any;
    axHasOwnProperty(mn: Multiname): any;
    axDeleteProperty(mn: Multiname): any;
    axNextName(index: number): any;
    axNextValue(index: number): any;
    axNextNameIndex(index: number): number;
}
//# sourceMappingURL=proxy.d.ts.map