/**
 * Start Feature Use Case
 *
 * Transitions a Pending feature to its active lifecycle and spawns
 * the agent. Validates lifecycle state, checks parent dependency
 * gates, and reuses the existing AgentRun record.
 */
import type { Feature, AgentRun } from '../../../domain/generated/output.js';
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
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 { IWorktreeService } from '../../ports/output/services/worktree-service.interface.js';
export interface StartFeatureResult {
    feature: Feature;
    agentRun: AgentRun;
}
export declare class StartFeatureUseCase {
    private readonly featureRepo;
    private readonly runRepo;
    private readonly processService;
    private readonly worktreeService;
    constructor(featureRepo: IFeatureRepository, runRepo: IAgentRunRepository, processService: IFeatureAgentProcessService, worktreeService: IWorktreeService);
    execute(featureId: string): Promise<StartFeatureResult>;
}
//# sourceMappingURL=start-feature.use-case.d.ts.map