import type { EventRouter } from './event-router.js';
/**
 * Input data for emitting a workflow_complete system event.
 */
export interface WorkflowCompleteData {
    routingKey: string;
    repo: string;
    workflowName: string;
    runId: string;
    status: string;
    conclusion: string;
    duration: number;
    jobResults: Array<{
        name: string;
        status: string;
    }>;
}
/**
 * Input data for emitting a job_complete system event.
 */
export interface JobCompleteData {
    routingKey: string;
    repo: string;
    workflowName: string;
    jobName: string;
    runId: string;
    jobId: string;
    status: string;
    duration: number;
    stepResults: Array<{
        name: string;
        status: string;
    }>;
}
/**
 * EventEmitter automatically generates system events when workflows and jobs complete.
 *
 * System events are root-level (chainDepth: 0) since they originate from the
 * orchestrator, not from a chain of events.
 */
export declare class EventEmitter {
    private readonly router;
    constructor(router: EventRouter);
    /**
     * Emit a __workflow_complete system event with rich metadata.
     * Returns the event ID as delivery receipt.
     */
    emitWorkflowComplete(data: WorkflowCompleteData): Promise<string>;
    /**
     * Emit a __job_complete system event with rich metadata.
     * Returns the event ID as delivery receipt.
     */
    emitJobComplete(data: JobCompleteData): Promise<string>;
}
//# sourceMappingURL=event-emitter.d.ts.map