import { KNativePointer } from "../../src/reexport-for-generated";
import { AnnotatedExpression } from "./AnnotatedExpression";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { TypeNode } from "./TypeNode";
export declare class TSAsExpression extends AnnotatedExpression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static createTSAsExpression(expression: Expression | undefined, typeAnnotation: TypeNode | undefined, isConst: boolean): TSAsExpression;
    static updateTSAsExpression(original: TSAsExpression | undefined, expression: Expression | undefined, typeAnnotation: TypeNode | undefined, isConst: boolean): TSAsExpression;
    get expr(): Expression | undefined;
    /** @deprecated */
    setExpr(expr?: Expression): this;
    get isConst(): boolean;
    /** @deprecated */
    setUncheckedCast(isUncheckedCast: boolean): this;
    get typeAnnotation(): TypeNode | undefined;
    /** @deprecated */
    setTsTypeAnnotation(typeAnnotation?: TypeNode): this;
    protected readonly brandTSAsExpression: undefined;
}
export declare function isTSAsExpression(node: object | undefined): node is TSAsExpression;
