import { JSXAttribute, JSXIdentifier, JSXNamespacedName, JSXOpeningElement } from "@babel/types"; import { NodePath as CoreNodePath } from "@babel/core"; import { NodePath as TraverseNodePath } from "@babel/traverse"; export declare function parseIdentifier(identifier: JSXIdentifier | JSXNamespacedName): string; /** * Get all attribute values of a JSX element. This only includes values that can be statically-analysed. * Pass the `onError` callback to be notified if an attribute cannot be resolved. * * @param nodePath The NodePath of the JSX opening element * @param onError Called with the attribute name and path if it is present but cannot be resolved * @param include If present, only these props are evaluated. Does not apply to spread attributes. */ export declare function getAttributeValues(nodePath: CoreNodePath | TraverseNodePath, onError?: (attributeName: string, attributePath?: CoreNodePath) => void, include?: Set): Record; /** * Attempt to get the value of a JSX attribute. Returns an object with the * properties `confident`, which is false if the value cannot be resolved * in the current scope, and `value` which is the value if it can be. * * If the attribute is empty, then the returned value is `true`, e.g. * `` would return `true` for the `eager` attribute. * * @param nodePath The NodePath of the JSXAttribute */ export declare function getAttributeValue(nodePath: CoreNodePath | TraverseNodePath): { confident: boolean; value: T | true; };