import { KNativePointer } from "../../src/reexport-for-generated";
import { Es2pandaAstNodeType } from "./../Es2pandaEnums";
import { Expression } from "./Expression";
import { TSTypeParameterInstantiation } from "./TSTypeParameterInstantiation";
import { TemplateLiteral } from "./TemplateLiteral";
export declare class TaggedTemplateExpression extends Expression {
    constructor(pointer: KNativePointer, astNodeType: Es2pandaAstNodeType);
    static createTaggedTemplateExpression(tag?: Expression, quasi?: TemplateLiteral, typeParams?: TSTypeParameterInstantiation): TaggedTemplateExpression;
    static updateTaggedTemplateExpression(original?: TaggedTemplateExpression, tag?: Expression, quasi?: TemplateLiteral, typeParams?: TSTypeParameterInstantiation): TaggedTemplateExpression;
    get tag(): Expression | undefined;
    get quasi(): TemplateLiteral | undefined;
    get typeParams(): TSTypeParameterInstantiation | undefined;
    protected readonly brandTaggedTemplateExpression: undefined;
}
export declare function isTaggedTemplateExpression(node: object | undefined): node is TaggedTemplateExpression;
