/**
 * Orchestrator-Onboarding REST Controller
 *
 * HTTP surface for the two onboarding-only skills orc invokes during
 * the v3 cold-start conversation flow:
 *
 *   - POST /api/orchestrator/onboarding/recommend-team
 *   - POST /api/orchestrator/onboarding/materialize-team
 *
 * Both endpoints are thin wrappers around the pure logic in
 * `services/orchestrator/onboarding/{recommend,materialize}-team.ts`.
 * The controller validates request shape, calls the logic, and shapes
 * the JSON response.
 *
 * @module controllers/orchestrator-onboarding/orchestrator-onboarding.controller
 */
import type { Request, Response, NextFunction } from 'express';
/**
 * POST /api/orchestrator/onboarding/recommend-team
 *
 * Body: { industry: string, scale: BusinessScale, tasks: NamedTask[] }
 *
 * Returns 200 with the {@link TeamRecommendation} on success, 400 on
 * malformed input. The function never falls back to a 500 — recommend
 * itself is total.
 */
export declare function recommendTeamRoute(req: Request, res: Response, next: NextFunction): Promise<void>;
/**
 * POST /api/orchestrator/onboarding/materialize-team
 *
 * Body: { recommendation: TeamRecommendation, teamsDir?: string, projectFlagPath?: string }
 *
 * Writes the team config + flips `onboardingComplete`. v0 stub —
 * the real provisioning lands Wed–Fri.
 *
 * Returns 200 with the materialize result on success; 400 if the
 * recommendation body is malformed; 500 only on actual filesystem
 * errors (orc surfaces those honestly to the user).
 */
export declare function materializeTeamRoute(req: Request, res: Response, next: NextFunction): Promise<void>;
//# sourceMappingURL=orchestrator-onboarding.controller.d.ts.map