export declare type FN = (...args: any[]) => any; export default FN; export declare function isFN(object: any): object is FN; export declare type FNA0 = () => O; export declare function isFNA0(object: any): object is FNA0; export declare type FNA1 = (i: I) => O; export declare function isFNA1(object: any): object is FNA1; export declare type FNA2 = (i1: I1, i2: I2) => O; export declare function isFNA2(object: any): object is FNA2; export declare type FNA3 = (i1: I1, i2: I2, i3: I3) => O; export declare function isFNA3(object: any): object is FNA3; export declare type FNAN

= (...args: P) => O; export declare function isFNAN

(object: any): object is FNAN; export declare type ARGS = Parameters; export declare type ARG1 = ARGS[0]; export declare type ARG2 = ARGS[1]; export declare type ARG3 = ARGS[2]; export declare type RETURN = ReturnType; export declare type OR_ARGS = F extends (...args: infer Args) => any ? Args : unknown; export declare type OR_ARG1 = F extends (...args: infer Args) => any ? Args[0] : unknown; export declare type OR_ARG2 = F extends (...args: infer Args) => any ? Args[1] : unknown; export declare type OR_ARG3 = F extends (...args: infer Args) => any ? Args[2] : unknown; export declare type OR_RETURN = F extends (...args: any[]) => infer Result ? Result : unknown;