/**
 * Converts inference engine output to human-readable .specly format
 */
import { LogicalComponentSpec } from './types.js';
export declare class SpeclyConverter {
    /**
     * Convert a LogicalComponentSpec to .specly format string
     */
    static toSpecly(spec: LogicalComponentSpec, componentName?: string): string;
    /**
     * Normalize entity data to [name, spec] entries.
     * Handles both object format { Name: spec } and array format [{ name: 'Name', ... }]
     */
    private static toNamedEntries;
    /**
     * Normalize attributes to [name, shorthandString] entries.
     * Handles object { name: "String required" } and array [{ name, type, required, ... }]
     */
    private static toAttributeEntries;
    /**
     * Normalize relationships to [name, shorthandString] entries.
     * Handles object { name: "belongsTo Target" } and array [{ name, type, target, ... }]
     */
    private static toRelationshipEntries;
    private static convertModel;
    private static convertController;
    private static convertAction;
    private static convertService;
    private static convertOperation;
    private static convertEvent;
    private static convertView;
    private static formatValue;
    private static formatComplexValue;
    /**
     * Convert commands section (AST: array of CommandSpec or object keyed by name)
     */
    private static convertCommands;
    private static convertCommand;
    private static convertCommandParam;
    /**
     * Generic section passthrough using yaml.dump-style recursive serialization
     * For sections like distributions, constraints, measures, promotions
     */
    private static convertGenericSection;
    /**
     * Recursively serialize an object to YAML-like string
     */
    private static serializeObject;
}
//# sourceMappingURL=specly-converter.d.ts.map