/**
 * KiCad文件生成器 - 核心版本
 * 负责将JSON数据结构转换回KiCad S表达式格式
 */
import { KiCadSymbolLib, ConversionResult, ConversionOptions } from './types.js';
/**
 * KiCad文件生成器选项
 */
export interface GeneratorOptions extends ConversionOptions {
    /** 缩进字符数 */
    indentSize?: number;
    /** 使用空格而非制表符 */
    useSpaces?: boolean;
    /** 最大行长度 */
    maxLineLength?: number;
    /** 包含格式化注释 */
    includeComments?: boolean;
    /** 紧凑模式 */
    compactMode?: boolean;
}
/**
 * KiCad生成器类
 */
export declare class KiCadGenerator {
    private indentSize;
    private indentChar;
    private currentIndent;
    constructor(options?: GeneratorOptions);
    /**
     * 将符号库数据生成为KiCad格式字符串
     * @param symbolLib 符号库数据
     * @param options 生成选项
     * @returns 生成结果
     */
    generate(symbolLib: KiCadSymbolLib, options?: GeneratorOptions): ConversionResult<string>;
    /**
     * 生成符号
     */
    private generateSymbol;
    /**
     * 生成属性
     */
    private generateProperty;
    /**
     * 生成引脚
     */
    private generatePin;
    /**
     * 生成图形元素
     */
    private generateGraphic;
    /**
     * 生成文本效果（单行版本）
     */
    private generateEffects;
    /**
     * 生成文本效果（多行版本，按照原始 KiCad 格式）
     */
    private generateEffectsMultiline;
    /**
     * 格式化位置信息
     */
    private formatPosition;
    /**
     * 格式化行输出
     */
    private formatLine;
    /**
     * 获取当前缩进字符串
     */
    private getCurrentIndent;
    /**
     * 增加缩进层级
     */
    private increaseIndent;
    /**
     * 减少缩进层级
     */
    private decreaseIndent;
    /**
     * 验证输入数据
     */
    private validateInput;
    /**
     * 计算数据大小
     */
    private calculateDataSize;
}
