import { TelescopeOptions } from "./telescope"; export declare const TX_SVC_TYPES: string[]; export declare const QUERY_SVC_TYPES: string[]; export declare const ENUM_PROTO2_DEFAULT = 1; export declare const ENUM_PROTO3_DEFAULT = 0; export interface IParseContext { ref: ProtoRef; options: TelescopeOptions; imports: ImportUsage[]; utils: Record; addUtil: Function; pluginValue(name: any): any; } export interface ImportUsage { type: 'typeImport' | 'toJSONEnum' | 'fromJSONEnum'; name: string; import: string; importedAs?: string; } export interface ProtoEnum { type?: 'Enum'; name?: string; originalName?: string; aliasName?: string; package?: string; values: { [key: string]: number; }; valuesOptions?: { [key: string]: { '(gogoproto.enumvalue_customname)'?: string; [key: string]: any; }; }; comment?: string; comments?: { [key: string]: string; }; } export interface ProtoType { type?: 'Type'; name?: string; originalName?: string; aliasName?: string; package?: string; oneofs?: { [key: string]: { oneof: string[]; comment: string | undefined; }; }; options?: { [key: string]: any; deprecated?: boolean; "(cosmos_proto.implements_interface)"?: string; "(amino.name)"?: string; }; fields: { [key: string]: ProtoField; }; comment: string | undefined; } export interface ProtoField { type?: 'string' | 'double' | 'float' | 'int32' | 'uint32' | 'sint32' | 'fixed32' | 'sfixed32' | 'uint64' | 'int64' | 'sint64' | 'fixed64' | 'sfixed64' | 'bytes' | 'bool' | string; originalType?: string; aliasType?: string; name?: string; scope?: string[]; originalScope?: string[]; aliasScope?: string[]; parsedType?: { name: string; originalName?: string; aliasName?: string; type: string; }; message?: string; originalMessage?: string; aliasMessage?: string; package?: string; keyType?: string; rule?: string; id: number; options: { [key: string]: any; deprecated?: boolean; json_name?: string; "(cosmos_proto.json_tag)"?: string; "(cosmos_proto.accepts_interface)"?: string; "(cosmos_proto.scalar)"?: string; "(telescope:name)"?: string; "(telescope:orig)"?: string; "(telescope:camel)"?: string; "(telescope:map_entry_type_field)"?: boolean; "(gogoproto.casttype)"?: string; "(gogoproto.customtype)"?: string; "(gogoproto.moretags)"?: string; "(gogoproto.nullable)"?: boolean; }; comment?: string; import?: string; importedName?: string; aliasImportedName?: string; originalImportedName?: string; scopeType?: string; isNestedMsg?: boolean; } export declare const ALLOWED_RPC_SERVICES: string[]; export interface ProtoServiceMethodInfo { method: 'get' | 'post'; url: string; pathParams: string[]; queryParams: string[]; paramMap: Record; casing: Record; } export interface ProtoServiceMethod { type: 'ServiceMethod'; info?: ProtoServiceMethodInfo; name: string; options: { [key: string]: any; "(google.api.http).get"?: string; "(google.api.http).post"?: string; "(google.api.http)"?: { post: string; body: string; }; }; comment?: string; requestType: string; originalRequestType?: string; aliasRequestType?: string; responseType: string; originalResponseType?: string; aliasResponseType?: string; fields: Record; } export interface ProtoService { type: 'Service'; name: 'Msg' | 'Query' | 'Service' | string; methods: Record; comment?: string; } export interface ProtoAny { type: string; name: string; [key: string]: any; } export interface ProtoDep { filename: string; package: string; imports: string[]; } export interface ProtoRef { absolute: string; filename: string; proto: ProtoRoot; traversed?: TraversedProtoRoot; } export interface ProtoRoot { syntax?: string; package: string; imports: string[]; importNames?: Record>; options?: { [key: string]: any; "go_package"?: string; }; root: any; } export interface TraverseRecord { filename: string; implementsType: string; msgName: string; } export interface TraverseLocalSymbol { type: 'import' | 'export' | 'importFromImplements'; symbolName: string; readAs: string; source: string; implementsType?: string; } export type TraverseImportNames = Record>; export type TraverseImport = Record; export type TraverseAccept = Record; export type TraverseImplement = Record; export type TraverseExport = Record; export interface TypeUrlRef { typeUrl: string; aminoType: string; type: string; importAs: string; } export interface TraverseTypeUrlRef { ref: string; pkg: string; types: TypeUrlRef[]; } export type TraversedProtoRoot = ProtoRoot & { parsedImports: TraverseImport; parsedExports: TraverseExport; acceptsInterface: TraverseAccept; implementsInterface: TraverseImplement; importNames: TraverseImportNames | null; symbols: TraverseLocalSymbol | null; }; export type InterfaceTypeUrlMap = Record; export type TraversalSymbol = TraverseLocalSymbol & { ref: string; }; export interface Lookup { obj: any; name: string; import: string; importType: string; importedName: string; package: string; isNestedMsg?: boolean; } export interface IProtoStore { requests: Record; responses: Record; _symbols: TraversalSymbol[]; findProto(filename: any): ProtoRef; get(from: ProtoRef, name: string): Lookup; getTypeUrlMap(ref: ProtoRef): any; setEnumValues(pkg: string, name: string, protoSyntex: string, values: number[]): void; getDefaultOrExistingSmallestEnumValue(pkg: string, name: string): number; setTypeFilesMapping(type: string, file: string): void; getTypeFilesMapping(type: string): string[]; getTypesInMultipleFiles(): string[]; isTypeInMultipleFiles(type: string): boolean; setHelperFuncFilesMapping(helperFunc: string, file: string): void; getHelperFuncFilesMapping(helperFunc: string): string[]; getHelperFuncsInMultipleFiles(): string[]; isHelperFuncInMultipleFiles(helperFunc: string): boolean; getFilesTypesMapping(file: string): string[]; getFilesHelperFuncsMapping(file: string): string[]; getTypeSerialNumber(type: string): number; getAndIncTypeSerialNumber(type: string): number; }