/**
 * Converter for transforming KiCad symbol data into ComponentRecord format
 * Maintains compatibility with the existing search engine and data structures
 */
import { ComponentRecord } from '../types/index.js';
import { ExtractedSymbol } from './KiCadSymbolExtractor.js';
/**
 * Options for controlling symbol conversion
 */
export interface ConversionOptions {
    /** Default manufacturer name for KiCad symbols */
    defaultManufacturer: string;
    /** Default package type for symbols */
    defaultPackage: string;
    /** Whether to include file path in extra data */
    includeFilePath: boolean;
    /** Whether to include processing metadata */
    includeMetadata: boolean;
    /** Custom category mapping for libraries */
    categoryMapping?: Record<string, string>;
    /** Whether to generate searchable extra data */
    generateSearchableExtra: boolean;
}
/**
 * Statistics for symbol conversion operation
 */
export interface ConversionStatistics {
    /** Number of symbols converted */
    symbolsConverted: number;
    /** Number of symbols with descriptions */
    symbolsWithDescriptions: number;
    /** Number of symbols with keywords */
    symbolsWithKeywords: number;
    /** Number of unique libraries */
    uniqueLibraries: number;
    /** Conversion time in milliseconds */
    conversionTime: number;
    /** Library distribution */
    libraryDistribution: Record<string, number>;
}
/**
 * Converter for KiCad symbols to ComponentRecord format
 */
export declare class KiCadSymbolConverter {
    private options;
    private statistics;
    constructor(options?: Partial<ConversionOptions>);
    /**
     * Convert array of extracted symbols to ComponentRecord format
     * @param extractedSymbols - Array of extracted symbols
     * @returns Array of component records
     */
    convertSymbolsToComponentRecords(extractedSymbols: ExtractedSymbol[]): ComponentRecord[];
    /**
     * Convert a single extracted symbol to ComponentRecord format
     * @param symbol - Extracted symbol to convert
     * @returns Component record
     * @private
     */
    private convertSingleSymbol;
    /**
     * Build description from symbol data with fallback options
     * @param symbol - Extracted symbol
     * @returns Description string
     * @private
     */
    private buildDescription;
    /**
     * Build extra data object with symbol metadata
     * @param symbol - Extracted symbol
     * @returns Extra data object
     * @private
     */
    private buildExtraData;
    /**
     * Generate search terms from symbol data
     * @param symbol - Extracted symbol
     * @returns Array of search terms
     * @private
     */
    private generateSearchTerms;
    /**
     * Get conversion statistics from the last operation
     * @returns Conversion statistics
     */
    getStatistics(): ConversionStatistics;
    /**
     * Reset conversion statistics
     * @private
     */
    private resetStatistics;
    /**
     * Get a human-readable summary of the conversion results
     * @returns Formatted summary string
     */
    getConversionSummary(): string;
    /**
     * Validate that a ComponentRecord is properly formatted
     * @param record - Component record to validate
     * @returns True if valid
     * @static
     */
    static validateComponentRecord(record: ComponentRecord): boolean;
}
//# sourceMappingURL=KiCadSymbolConverter.d.ts.map