export interface Import { importClause: Array<{ type: string; dependencyTypeName?: string; }>; moduleSpecifier?: string; resolvedPath?: string; } export interface EnumMember { name: string; comment?: string; initializer?: string | number; } export interface Enum { name: string; comment?: string; members: EnumMember[]; } export declare enum DependencyType { INLINE = "inline", EXTERNAL = "external", CURRENT = "current", SYSTEM = "system" } export interface PropertyType { type: string; dependencyType?: DependencyType; dependencyTypeName?: string; resolvedPath?: string; aliasName?: string; map?: boolean; keyType?: string; } export interface PropertySignature { name: string; comment?: string; propertyType: PropertyType; repeated?: boolean; optional?: boolean; defaultValue?: boolean; jsonName?: string; } export interface InterfaceModule { comment?: string; name: string; enums: Enum[]; interfaces: Interface[]; } export interface Interface { name: string; comment?: string; members: PropertySignature[]; module?: InterfaceModule; } export interface ApiModule { comment?: string; name: string; functions: ApiFunction[]; } export interface ApiFunction { name: string; comment?: string; req: PropertyType; url: string; redirectUrl?: string; res: PropertyType; method: "get" | "post" | "put" | "patch" | "delete"; } export interface ApiFile { protoPath: string; protoTargetPath: string; outputPath: string; apiPrefixPath: string; comment?: string; imports: Import[]; enums: Enum[]; interfaces: Interface[]; apiModules: ApiModule[]; }