export interface ClassFileInfo { className: string; simpleName: string; packageName: string; superClassName?: string; interfaces: string[]; accessFlags: number; isPublic: boolean; isAbstract: boolean; isInterface: boolean; isEnum: boolean; isAnnotation: boolean; fields: ClassFieldInfo[]; methods: ClassMethodInfo[]; majorVersion: number; } export interface ClassFieldInfo { name: string; type: string; descriptor: string; isPublic: boolean; isStatic: boolean; isFinal: boolean; } export interface ClassMethodInfo { name: string; returnType: string; parameterTypes: string[]; descriptor: string; isPublic: boolean; isStatic: boolean; isAbstract: boolean; isSynthetic: boolean; } /** * Parse a JVM method descriptor into human-readable parameter and return types. * * Example: `(Ljava/lang/String;I)V` → `{ parameterTypes: ['String', 'int'], returnType: 'void' }` */ export declare function parseMethodDescriptor(descriptor: string): { parameterTypes: string[]; returnType: string; }; /** * Convert a JVM field descriptor to a human-readable type string. * * Example: `Ljava/lang/String;` → `String`, `[I` → `int[]` */ export declare function parseFieldDescriptor(descriptor: string): string; /** * Parse a Java `.class` file buffer and extract type metadata. * * Returns `null` if the buffer is not a valid class file (wrong magic number * or truncated data). This function does **not** require a JVM. */ export declare function readClassFile(buffer: Buffer): ClassFileInfo | null; //# sourceMappingURL=class-file-reader.d.ts.map