/**
 * Reject Agent Run Use Case
 *
 * Rejects a paused agent run (waiting_approval status) and
 * spawns a resume worker to iterate with user feedback.
 * Appends rejection feedback to spec.yaml for tracking.
 *
 * Optionally accepts a {@link SupervisorActor}. When provided, the
 * rejection is attributed to that actor in the audit log
 * (`actor_id = user:<id>` or `supervisor:<id>`) and the "user always
 * wins" invariant from spec 093 is enforced — see
 * {@link ApproveAgentRunUseCase} for the full description.
 */
import type { IAgentRunRepository } from '../../ports/output/agents/agent-run-repository.interface.js';
import type { IFeatureAgentProcessService } from '../../ports/output/agents/feature-agent-process.interface.js';
import type { IPhaseTimingRepository } from '../../ports/output/agents/phase-timing-repository.interface.js';
import type { IActivityLogRepository } from '../../ports/output/repositories/activity-log-repository.interface.js';
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
import type { IWorktreePathProvider } from '../../ports/output/services/worktree-path-provider.interface.js';
import type { INodeHelpers } from '../../ports/output/services/node-helpers.interface.js';
import type { IPhaseTimingContext } from '../../ports/output/services/phase-timing-context.interface.js';
import { type SupervisorActor } from '../../../domain/value-objects/supervisor-actor.js';
export declare class RejectAgentRunUseCase {
    private readonly agentRunRepository;
    private readonly processService;
    private readonly featureRepository;
    private readonly phaseTimingRepository;
    private readonly worktreePaths;
    private readonly nodeHelpers;
    private readonly phaseTimingContext;
    private readonly activityLog;
    constructor(agentRunRepository: IAgentRunRepository, processService: IFeatureAgentProcessService, featureRepository: IFeatureRepository, phaseTimingRepository: IPhaseTimingRepository, worktreePaths: IWorktreePathProvider, nodeHelpers: INodeHelpers, phaseTimingContext: IPhaseTimingContext, activityLog: IActivityLogRepository);
    execute(id: string, feedback: string, attachments?: string[], actor?: SupervisorActor): Promise<{
        rejected: boolean;
        reason: string;
        iteration?: number;
        iterationWarning?: boolean;
    }>;
    /** See {@link ApproveAgentRunUseCase} for the rationale. */
    private findPriorUserGateDecision;
    private recordGateDecision;
}
//# sourceMappingURL=reject-agent-run.use-case.d.ts.map