export default function safelyTry<T, E = Error>(fn: (((...args: any[]) => T) | (() => T)), ...args: any[]): T extends PromiseLike<any> ? Promise<{
    data: undefined;
    error: E;
}> | Promise<{
    data: Awaited<T>;
    error: undefined;
}> : {
    data: undefined;
    error: E;
} | {
    data: T;
    error: undefined;
};
export declare function safelyTryTuple<T, E = Error>(fn: (((...args: any[]) => T) | (() => T)), ...args: any[]): T extends PromiseLike<any> ? Promise<[undefined, E]> | Promise<[Awaited<T>, undefined]> : [undefined, E] | [T, undefined];
