/**
 * Promotion Generator for Logical Inference
 *
 * When a component has promotions, generates:
 * - PromotionService with apply/validate/check operations
 * - PromotionApplied and PromotionExpired events
 *
 * This demonstrates the extension entity inference pattern:
 * an entity module provides a generator that plugs into the
 * inference engine's generator registry.
 */
import { ModelDefinition, ServiceSpec, EventSpec, InferenceContext, ValidationResult } from '../../core/types.js';
export interface PromotionGenerationResult {
    services: Record<string, ServiceSpec>;
    events: Record<string, EventSpec>;
    rulesUsed: number;
    validation: ValidationResult;
}
export declare class PromotionGenerator {
    private debug;
    name: string;
    constructor(debug?: boolean);
    loadRules(): Promise<ValidationResult>;
    /**
     * Generate promotion services and events from models + context.
     *
     * The context.metadata.promotions field contains the parsed promotions
     * from the convention processor.
     */
    generate(models: ModelDefinition[], baseContext: InferenceContext): Promise<PromotionGenerationResult>;
}
//# sourceMappingURL=promotion-generator.d.ts.map