export type RunMonad<T = unknown> = {
    run: false;
    data: T;
} | {
    run: true;
    ok: true;
    data: T;
} | {
    run: true;
    ok: false;
    error: unknown;
    type: string;
};
export declare function functionRunner<ARGS extends any[], RES>(type: string, cb: ((...args: ARGS) => RES) | null, args: [...ARGS], timeout?: number): Promise<RunMonad<Awaited<RES>>>;
