/// <reference types="frida-gum" />
import { Accessor } from "../utils/accessor";
import { Valuable } from "./interfaces";
import { _Il2CppArray } from "./structs/array";
import { _Il2CppObject } from "./structs/object";
import { _Il2CppString } from "./structs/string";
import { _Il2CppValueType } from "./structs/value-type";
export declare type AllowedType = undefined | boolean | number | Int64 | UInt64 | NativePointer | _Il2CppValueType | _Il2CppObject | _Il2CppString | _Il2CppArray<AllowedType>;
export declare type ImplementationCallback = (this: InvocationContext, instance: _Il2CppObject | null, parameters: Accessor<Valuable>) => AllowedType;
export declare type OnEnterCallback = (this: InvocationContext, instance: _Il2CppObject | null, parameters: Accessor<Valuable>) => void;
export declare type OnLeaveCallback = (this: InvocationContext, returnValue: Valuable) => void;
