import {Expression, Identifier, Node} from 'estree-jsx';
declare module 'estree' {
interface BaseNode {
parent?: Node;
}
interface AsExpression extends BaseExpression {
type: 'AsExpression';
expression: Expression | Identifier;
}
interface OptionalCallExpression extends BaseCallExpression {
type: 'OptionalCallExpression';
}
interface OptionalMemberExpression extends MemberExpression {
type: 'OptionalMemberExpression';
}
interface TSAsExpression extends BaseExpression {
type: 'TSAsExpression';
expression: Expression | Identifier;
}
interface TSTypeQuery extends BaseNode {
type: 'TSTypeQuery';
exprName: Identifier;
}
interface TSTypeReference extends BaseNode {
type: 'TSTypeReference';
typeName: Identifier;
}
interface TypeCastExpression extends BaseExpression {
type: 'TypeCastExpression';
expression: Expression | Identifier;
}
interface ExpressionMap {
AsExpression: AsExpression;
OptionalCallExpression: OptionalCallExpression;
OptionalMemberExpression: OptionalMemberExpression;
TSAsExpression: TSAsExpression;
TypeCastExpression: TypeCastExpression;
}
interface NodeMap {
AsExpression: AsExpression;
OptionalCallExpression: OptionalCallExpression;
OptionalMemberExpression: OptionalMemberExpression;
TSAsExpression: TSAsExpression;
TSTypeQuery: TSTypeQuery;
TSTypeReference: TSTypeReference;
TypeCastExpression: TypeCastExpression;
}
}