import { KNativePointer } from "../../src/reexport-for-generated";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { Identifier } from "./Identifier";
import { ScriptFunction } from "./ScriptFunction";
export declare class FunctionExpression extends Expression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static create1FunctionExpression(namedExpr?: Identifier, func?: ScriptFunction): FunctionExpression;
    static updateFunctionExpression(original?: FunctionExpression, func?: ScriptFunction): FunctionExpression;
    static update1FunctionExpression(original?: FunctionExpression, namedExpr?: Identifier, func?: ScriptFunction): FunctionExpression;
    get function(): ScriptFunction | undefined;
    /** @deprecated */
    setFunction(func?: ScriptFunction): this;
    get isAnonymous(): boolean;
    get id(): Identifier | undefined;
    /** @deprecated */
    setId(id?: Identifier): this;
    protected readonly brandFunctionExpression: undefined;
}
export declare function isFunctionExpression(node: object | undefined): node is FunctionExpression;
