/// <reference types="frida-gum" />
import { Accessor } from "../../utils/accessor";
import { NativeStruct } from "../native-struct";
import { AllowedType, ImplementationCallback, OnEnterCallback, OnLeaveCallback } from "../types";
import { _Il2CppClass } from "./class";
import { _Il2CppType } from "./type";
import { _Il2CppParameter } from "./parameter";
export declare class _Il2CppMethod extends NativeStruct {
    get actualPointer(): NativePointer;
    get class(): _Il2CppClass;
    get isGeneric(): boolean;
    get isInflated(): boolean;
    get isInstance(): boolean;
    get name(): string;
    get parameterCount(): number;
    get parameters(): Accessor<_Il2CppParameter>;
    get relativePointerAsString(): string;
    get returnType(): _Il2CppType;
    set implementation(callback: ImplementationCallback | null);
    invoke<T extends AllowedType>(...parameters: AllowedType[]): T;
    intercept({ onEnter, onLeave }: {
        onEnter?: OnEnterCallback;
        onLeave?: OnLeaveCallback;
    }): InvocationListener;
    trace(): void;
}
