/** * Objective-C Symbol Scanner * * Parses .m, .mm, and .h files to extract: * - @interface declarations (classes, categories, extensions) * - @protocol declarations * - Method declarations (- and +) * - Property declarations */ import type { SwiftSymbol, FileScanResult } from '../schemas/gap.js'; export interface ObjCSymbol { name: string; kind: 'class' | 'protocol' | 'category' | 'extension'; file: string; line: number; superclass?: string; protocols?: string[]; methods?: ObjCMethod[]; properties?: ObjCProperty[]; } export interface ObjCMethod { name: string; isClassMethod: boolean; line: number; returnType?: string; } export interface ObjCProperty { name: string; type: string; line: number; attributes?: string[]; } /** * Extract @interface declarations from Objective-C content */ export declare function extractObjCInterfaces(content: string, filePath: string): ObjCSymbol[]; /** * Extract @protocol declarations */ export declare function extractObjCProtocols(content: string, filePath: string): ObjCSymbol[]; /** * Convert ObjC symbol to Swift symbol format for unified handling */ export declare function objcSymbolToSwiftSymbol(objcSymbol: ObjCSymbol): SwiftSymbol; /** * Scan a single Objective-C file for symbols */ export declare function scanObjCFile(filePath: string): Promise; /** * Check if a file is an Objective-C source file */ export declare function isObjCFile(filePath: string): boolean; /** * Check if an Objective-C file should be excluded */ export declare function isExcludedObjCPath(filePath: string): boolean; /** * Find all Objective-C files in a directory */ export declare function findObjCFiles(dir: string, excludeTests?: boolean): Promise; /** * Scan a directory for all Objective-C symbols */ export declare function scanObjCDirectory(dirPath: string, excludeTests?: boolean): Promise; //# sourceMappingURL=objc-symbol-scanner.d.ts.map