import type { RuleDecision } from "../types.js"; export interface GitlabCiConfig { decisions: RuleDecision[]; techStack?: string; nodeVersion?: string; projectPhase?: string; includeAiReview?: boolean; image?: string; } /** * Generate a .gitlab-ci.yml workflow from rule decisions. * * Logic: * - If projectPhase is "prototype" AND no decisions have recommendedMedium "ci", return empty string * - Otherwise generate a .gitlab-ci.yml with dynamically built stages array: * * lint stage (when linter_error/linter_warn/linter decisions exist) * * test stage (when R007 test-before-merge exists) * * security stage (when R022 secret-detection exists) — includes GitLab security templates via `include:` directive * * ai-review stage (when R021 ai-code-review exists) — uses generateAiReviewJob output * * build stage (unless prototype phase) * - Include: Security/SAST, Security/Secret-Detection, Security/Dependency-Scanning templates * - Each stage has appropriate `rules:` for merge_request_event and main branch * - Default image: node:22-alpine */ export declare function generateGitlabCiWorkflow(config: GitlabCiConfig): string; //# sourceMappingURL=gitlab_ci.d.ts.map