import { IScope } from '../types';
/**
 * 是否是广义上的 JSFunction
 * @param value
 * @returns
 */
export declare function isBroadJSFunction(value: unknown): boolean;
export declare function generateExpression(value: any, scope: IScope): string;
/**
 * 生成函数代码
 *
 * @param value 函数或表达式
 * @param config 配置对象，包含以下属性：
 * - name: 函数名称，可选
 * - isMember: 是否为成员函数，默认为false
 * - isBlock: 是否为块级函数，默认为false
 * - isArrow: 是否为箭头函数，默认为false
 * - isBindExpr: 是否为绑定表达式，默认为false
 * - isToVue 是否转化为vue（state，this转换）
 * - isDeleteLastSemicolon 是否删除生成代码最后的一个分号，默认为false
 * @returns 返回生成的函数代码
 * @throws 当 value 不是 JSFunction 或 JSExpression 时抛出 CodeGeneratorError
 */
export declare function generateFunction(value: any, config?: {
    name?: string;
    isMember?: boolean;
    isBlock?: boolean;
    isArrow?: boolean;
    isBindExpr?: boolean;
    isToVue?: boolean;
    isDeleteLastSemicolon?: boolean;
}): string;
