import { TSESTree } from '@typescript-eslint/utils'; export declare const unwrapExpression: (expression: T) => T | TSESTree.Expression; export declare const luminaEntrypointName = "@arcgis/lumina"; export declare const luminaTestEntrypointName = "@arcgis/lumina-compiler/testing"; export declare const luminaJsxExportName = "h"; type LuminaJsxCheck = (node: TSESTree.ImportDeclaration) => void; export declare function checkForLuminaJsx(): LuminaJsxCheck & { isLuminaJsx: boolean; }; export declare function hasDecorator(node: Pick, decoratorName: string): boolean; export declare function extractDeclareElementsInterface(node: TSESTree.TSModuleDeclaration): TSESTree.TSInterfaceDeclaration | undefined; export declare function getComponentDeclaration(node: TSESTree.TSInterfaceDeclaration): { key: TSESTree.Literal; typeAnnotation: { typeAnnotation: { typeName: TSESTree.Identifier; }; }; } | undefined; export declare const sourceCodeDeclaresComponent: (sourceCode: { readonly text: string; }) => boolean; export declare function isCreateEvent(node: TSESTree.PropertyDefinition): boolean; export declare const getProperty: (properties: TSESTree.ObjectLiteralElement[] | undefined, name: string) => TSESTree.Property["value"] | undefined; export declare function isGetterWithoutSetter(node: TSESTree.MethodDefinition | TSESTree.PropertyDefinition): boolean; export declare function getName(node: Pick): string | undefined; export declare function parsePropertyDecorator(decorator: TSESTree.Decorator): { readonly callExpression: TSESTree.CallExpression; readonly options: TSESTree.ObjectExpression | undefined; readonly properties: TSESTree.ObjectLiteralElement[] | undefined; } | undefined; export declare function isBindThisCallee(callee: TSESTree.Expression): callee is TSESTree.MemberExpression; export {};