import { NodePath } from '@babel/traverse'; import * as t from '@babel/types'; import { PrimingDiagnostic } from '../types'; import { ModuleMetadata } from '@komaci/common-shared'; /** * Invariant function for checking if an getter defined in an external module has only a * statement in it, a return statement. * @param blockStatement the babel path object for the BlockStatement representing the contents of the getter * @param statements the babel path object array for all of the Statements in the getter * @returns PrimingDiagnostic of the BlockStatement if the invariant is detected, or undefined if the invariant wasn't found */ export declare function checkExternalModuleGetterReturnStatement(blockStatement: NodePath, statements: NodePath[]): PrimingDiagnostic | undefined; /** * Invariant function for checking if an render function defined in an external module has only a * statement in it, a return statement. * @param blockStatement the babel path object for the BlockStatement representing the contents of the render function. * @param statements the babel path object array for all of the Statements in the render function. * @returns PrimingDiagnostic of the BlockStatement if the invariant is detected, or undefined if the invariant wasn't found */ export declare function checkExternalModuleRenderReturnStatement(blockStatement: NodePath, statements: NodePath[]): PrimingDiagnostic | undefined; /** * Function to validate the render function, returns a priming diagnost if an invariant is found. * @param returnStmt the return satement node * @param moduleMetadata the module metadata obj * @returns a priming diagnostic or undefined. */ export declare function checkRenderFunctionReturnValues(returnStmt: t.ReturnStatement, moduleMetadata: ModuleMetadata): PrimingDiagnostic | undefined; //# sourceMappingURL=returnStatementInvariantFunctions.d.ts.map