import { ECPoint, UInt160, UInt256 } from '@neo-one/client-common-esnext-esm'; import { AnyNameableNode } from '@neo-one/ts-utils-esnext-esm'; import ts from 'typescript'; import { Context } from '../Context'; export interface ErrorDiagnosticOptions { readonly error?: boolean; } export interface DiagnosticOptions extends ErrorDiagnosticOptions { readonly warning?: boolean; } export declare const DEFAULT_DIAGNOSTIC_OPTIONS: { error: boolean; warning: boolean; }; export interface SignatureTypes { readonly paramDecls: ReadonlyArray; readonly paramTypes: Map; readonly returnType: ts.Type | undefined; } export declare class AnalysisService { private readonly context; private readonly memoized; constructor(context: Context); getFunctionReturnType(node: ts.SignatureDeclaration, options?: DiagnosticOptions): ts.Type | undefined; extractAllSignatures(node: ts.Node, options?: DiagnosticOptions): ReadonlyArray; extractSignature(node: ts.Node, options?: DiagnosticOptions): SignatureTypes | undefined; getSignatures(node: ts.CallLikeExpression): ReadonlyArray | undefined; extractAllSignaturesForType(node: ts.Node, type: ts.Type | undefined, options?: DiagnosticOptions): ReadonlyArray; extractSignatureForType(node: ts.Node, type: ts.Type | undefined, options?: DiagnosticOptions): SignatureTypes | undefined; extractSignaturesForCall(node: ts.CallLikeExpression, options?: DiagnosticOptions): ReadonlyArray | undefined; extractSignatureTypes(node: ts.Node, signature: ts.Signature, options?: DiagnosticOptions): SignatureTypes | undefined; extractLiteralAddress(original: ts.Expression): UInt160 | undefined; extractLiteralHash256(original: ts.Expression): UInt256 | undefined; extractLiteralPublicKey(original: ts.Expression): ECPoint | undefined; getType(node: ts.Node, options?: ErrorDiagnosticOptions): ts.Type | undefined; getTypeOfSymbol(symbol: ts.Symbol | undefined, node: ts.Node): ts.Type | undefined; getSymbol(node: ts.Node): ts.Symbol | undefined; getTypeSymbol(node: ts.Node): ts.Symbol | undefined; getSymbolForType(_node: ts.Node, type: ts.Type | undefined): ts.Symbol | undefined; getNotAnyType(node: ts.Node, type: ts.Type | undefined, { error }?: ErrorDiagnosticOptions): ts.Type | undefined; extractStorageKey(node: ts.Node): string | undefined; isSmartContract(node: ts.ClassDeclaration): boolean; isSmartContractNode(node: ts.Node): boolean; getSymbolAndAllInheritedSymbols(node: ts.Node): ReadonlyArray; isValidStorageType(node: ts.Node, type: ts.Type): boolean; findReferencesAsNodes(node: AnyNameableNode | ts.Identifier): ReadonlyArray; isSmartContractMixinFunction(node: ts.FunctionDeclaration | ts.FunctionExpression): boolean; private isValidStorageArray; private isValidStorageMap; private isValidStorageSet; private extractLiteral; private traceIdentifier; private unwrapExpression; private report; }