import { AbstractProcessor } from './AbstractProcessor.js';
import { ModelSpec } from '../types/ast.js';
export declare class ModelProcessor extends AbstractProcessor<any, ModelSpec[]> {
    private attributeProcessor;
    private relationshipProcessor;
    private lifecycleProcessor;
    private executableProcessor;
    constructor(context: any);
    process(modelsData: any): ModelSpec[];
    private addProfileBehaviors;
    private parseProfileAttachment;
    /**
     * Resolve single inheritance chains - merge attributes, relationships, behaviors
     * from parent models into child models
     */
    private resolveInheritance;
    /**
     * Recursively resolve inheritance for a single model
     */
    private resolveModelInheritance;
    /**
     * Merge parent and child attributes - child overrides parent
     */
    private mergeAttributes;
    /**
     * Merge parent and child relationships - child overrides parent
     */
    private mergeRelationships;
    /**
     * Merge parent and child lifecycles - child can add new or override
     */
    private mergeLifecycles;
    /**
     * Merge parent and child behaviors - child overrides parent
     */
    private mergeBehaviors;
    /**
     * Expand model metadata into synthetic attributes
     * Transforms metadata declarations (id, audit, softDelete, etc.) into concrete attributes
     */
    private expandModelMetadata;
    /**
     * Expand ID field based on strategy
     */
    private expandIdField;
    /**
     * Create ID attribute based on type
     */
    private createIdAttribute;
    /**
     * Expand audit fields (timestamps + user tracking)
     */
    private expandAuditFields;
    /**
     * Expand soft delete fields
     */
    private expandSoftDeleteFields;
    /**
     * Expand status field from lifecycle or explicit values
     */
    private expandStatusField;
    /**
     * Expand version field for optimistic locking
     */
    private expandVersionField;
}
//# sourceMappingURL=ModelProcessor.d.ts.map