import { AXObject } from '../run/AXObject';
import { AXCallable } from '../run/AXCallable';
import { MethodInfo } from '../abc/lazy/MethodInfo';
import { Scope } from '../run/Scope';
import { ASObject } from './ASObject';
import { ASArray } from './ASArray';
export declare class ASFunction extends ASObject {
    static classInitializer(): void;
    private _prototype;
    private _prototypeInitialzed;
    value: AXCallable;
    receiver: {
        scope: Scope;
    };
    protected methodInfo: MethodInfo;
    setReceiver(receiver: any): void;
    axConstruct(args: any[]): any;
    axIsInstanceOf(obj: any): boolean;
    native_functionValue(): void;
    get prototype(): AXObject;
    set prototype(prototype: AXObject);
    get length(): number;
    toString(): string;
    call(thisArg: any): any;
    apply(thisArg: any, argArray?: ASArray): any;
    axCall(thisArg: any): any;
    axApply(thisArg: any, argArray?: any[]): any;
}
//# sourceMappingURL=ASFunction.d.ts.map