import { AstNode, KNativePointer } from "../../src/reexport-for-generated";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { LoopStatement } from "./LoopStatement";
import { Statement } from "./Statement";
export declare class ForUpdateStatement extends LoopStatement {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static createForUpdateStatement(init?: AstNode, test?: Expression, update?: Expression, body?: Statement): ForUpdateStatement;
    static updateForUpdateStatement(original?: ForUpdateStatement, init?: AstNode, test?: Expression, update?: Expression, body?: Statement): ForUpdateStatement;
    get init(): AstNode | undefined;
    /** @deprecated */
    setInit(init?: AstNode): this;
    get test(): Expression | undefined;
    /** @deprecated */
    setTest(test?: Expression): this;
    get updateExpression(): Expression | undefined;
    /** @deprecated */
    setUpdate(update?: Expression): this;
    get body(): Statement | undefined;
    /** @deprecated */
    setBody(body?: Statement): this;
    protected readonly brandForUpdateStatement: undefined;
}
export declare function isForUpdateStatement(node: object | undefined): node is ForUpdateStatement;
