import { Literal, Identifier, Program, AssignmentExpression, MemberExpression, CallExpression, BaseNode, FunctionDeclaration, ReturnStatement } from 'estree'; import { YukiValue } from '../declarations/header/types'; import { FunctionNames } from './types'; export declare const ValidateMainProgram: (headerMap: Map, functionNames: FunctionNames) => (program: Program, errors?: Error[]) => Error[]; export declare const ValidateNode: (headerMap: Map, functionNames: FunctionNames) => (node: BaseNode) => Error[]; export declare const ValidateIdentifier: (headerMap: Map, functionNames: string[]) => (node: Identifier) => Error[]; export declare const ValidateMemberExpression: (headerMap: Map) => (node: MemberExpression) => Error[]; export declare const ValidateAssignmentExpression: (headerMap: Map, validateIdentifier: (node: Identifier) => Error[], validateMemberExpression: (node: MemberExpression) => Error[]) => (node: AssignmentExpression) => Error[]; export declare const ValidateCallExpression: (functionNames: FunctionNames) => (node: CallExpression) => Error[]; export declare const ValidateFunctionDeclaration: (externals: string[]) => (node: FunctionDeclaration) => Error[]; export declare const validateReturnStatement: (node: ReturnStatement) => Error[]; export declare const validateLiteral: (node: Literal) => Error[];