import { KNativePointer } from "../../src/reexport-for-generated";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { Statement } from "./Statement";
import { varbinder } from "./varbinder";
export declare class BlockExpression extends Expression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static createBlockExpression(statements: readonly Statement[]): BlockExpression;
    static updateBlockExpression(original: BlockExpression | undefined, statements: readonly Statement[]): BlockExpression;
    get statements(): readonly Statement[];
    /** @deprecated */
    setStatements(statementList: readonly Statement[]): this;
    /** @deprecated */
    addStatements(statements: readonly Statement[]): this;
    /** @deprecated */
    addStatement(statement?: Statement): this;
    /** @deprecated */
    setScope(scope?: varbinder.Scope): this;
    protected readonly brandBlockExpression: undefined;
}
export declare function isBlockExpression(node: object | undefined): node is BlockExpression;
