import { type SymbolDefinition, type PinLocation, type BoundingBox, type PinInfo } from './renderers/schematic_visualizer_types.js'; export declare class SymbolLibraryManager { private libraryCache; private symbolCache; private pinLocationCache; private pinInfoCache; private boundingBoxCache; private kicadSymbolPath; constructor(); private getLibraryContent; private findSymbolInLibrary; getSymbolDefinition(symbolFqn: string, visited?: Set): SymbolDefinition | null; getPinLocation(symbolFqn: string, pinNumber: string | number): PinLocation | null; private calculateSymbolBoundingBoxRecursive; /** * Get a map of pin number → { name, type } for all pins in a symbol. * Extracts pin name and electrical type from KiCAD symbol s-expressions: * (pin ... (name "...") (number "...")) */ getPinInfoMap(symbolFqn: string): Map | null; /** * Recursively walk a symbol definition extracting (pin ...) nodes. * Handles both top-level pins and pins nested inside (symbol NAME_1_1 ...) units. */ private extractPinInfo; getSymbolBoundingBox(symbolFqn: string): BoundingBox | null; } export declare function getSymbolLibraryManager(): SymbolLibraryManager; export declare function resetSymbolLibraryManager(): void; //# sourceMappingURL=symbol_library_manager.d.ts.map