import { MethodTraitInfo } from './MethodTraitInfo';
import { MethodBodyInfo } from './MethodBodyInfo';
import { AXClass } from '../../run/AXClass';
import { ABCFile } from './ABCFile';
import { ParameterInfo } from './ParameterInfo';
import { MetadataInfo } from './MetadataInfo';
import { InstanceInfo } from './InstanceInfo';
import { ClassInfo } from './ClassInfo';
import { Multiname } from './Multiname';
import { ScriptInfo } from './ScriptInfo';
import { COMPILATION_STATE, COMPILATION_FAIL_REASON } from '../../flags';
import { IMethodReadableMeta } from '../../utils/reconstructMetadata';
export declare class MethodInfo {
    abc: ABCFile;
    private _index;
    readonly name: string;
    readonly typeName: Multiname;
    readonly parameters: ParameterInfo[];
    readonly optionalCount: number;
    readonly flags: number;
    meta: IMethodReadableMeta;
    parentInfo?: MethodInfo;
    trait: MethodTraitInfo;
    minArgs: number;
    private _body;
    private _returnType;
    scriptInfo: ScriptInfo;
    classInfo: ClassInfo;
    instanceInfo: InstanceInfo;
    isConstructor: boolean;
    compiled: Function;
    names: Multiname[];
    error: {
        message: string;
        reason: COMPILATION_FAIL_REASON;
    };
    useCount: number;
    get state(): COMPILATION_STATE;
    constructor(abc: ABCFile, _index: number, name: string, typeName: Multiname, parameters: ParameterInfo[], optionalCount: number, flags: number);
    getNativeMetadata(): MetadataInfo;
    getBody(): MethodBodyInfo;
    index(): number;
    getType(): AXClass;
    toString(): string;
    toFlashlogString(): string;
    isNative(): boolean;
    needsRest(): boolean;
    needsArguments(): boolean;
}
//# sourceMappingURL=MethodInfo.d.ts.map