import { type CustomerSerializer } from '../lib';
type ThisOfFunc<T extends (...args: any) => any> = T extends (this: infer THIS, ...args: any[]) => any ? THIS : never;
export declare class WrapRunner<Func extends (...args: any) => any> {
    func: Func;
    args: Parameters<Func>;
    constructor(func: Func, ...args: Parameters<Func>);
    run<Return extends ReturnType<Func>>(THIS?: ThisOfFunc<Func> | null): Return;
}
export declare class WrapRunnerSerializer {
    private static instance;
    static getInstance(): CustomerSerializer<typeof WrapRunner, [(...args: any) => any, any[]]>;
}
export {};
