import type * as babel from '@babel/core'; import type * as t from '@babel/types'; type TypeFilter = (node: t.Node) => node is V; export declare function isPathValid(path: unknown, key: TypeFilter): path is babel.NodePath; export type NestedExpression = t.ParenthesizedExpression | t.TypeCastExpression | t.TSAsExpression | t.TSSatisfiesExpression | t.TSNonNullExpression | t.TSInstantiationExpression | t.TSTypeAssertion; export declare function isNestedExpression(node: t.Node): node is NestedExpression; type TypeCheck = K extends TypeFilter ? U : never; export declare function unwrapNode boolean>(node: t.Node, key: K): TypeCheck | undefined; export declare function unwrapPath(path: unknown, key: TypeFilter): babel.NodePath | undefined; export {}; //# sourceMappingURL=unwrap.d.ts.map