import { AbstractType } from "./AbstractType"; import { Req, scalar } from "@huz-com/types"; import { FunctionTypeOption } from "./index.interfaces"; import { FuncSignature } from "@huz-com/primitive/dist/index.interfaces"; declare type T = scalar.AnyFunc; declare type O = FunctionTypeOption; export declare class FunctionType extends AbstractType { protected static _ins: FunctionType; /** * Returns skeleton instance * */ static ins(): FunctionType; constructor(); /** * Checks is function? */ is(value: scalar.Unknown, opt?: O, req?: Req): boolean; /** * Converts a value to function */ cast(value: scalar.Unknown, opt?: O, req?: Req): T | null; /** * Returns name of function * */ getName(fn: scalar.AnyFunc | scalar.Alpha): scalar.Alpha | null; /** * Returns name of function * */ getFqn(fn: scalar.AnyFunc | scalar.Alpha): scalar.Alpha | null; /** * Returns signature of function * */ getSignature(fn: scalar.AnyFunc): FuncSignature; } export {};