export type CiCdPlatform = 'github-actions' | 'gitlab-ci' | 'circleci' | 'buildkite' | 'azure-devops' | 'jenkins' | 'drone' | 'woodpecker' | 'tekton' | 'travis-ci' | 'bitbucket-pipelines' | 'teamcity' | 'bamboo' | 'concourse' | 'harness';
export interface CiCdDetection {
    platform: CiCdPlatform | null;
    configFile: string | null;
    multipleDetected: CiCdPlatform[];
    hasDeployStage: boolean;
    hasDependencyAudit: boolean;
    hasTestStage: boolean;
    hasLintStage: boolean;
}
export type DeploymentTarget = 'vercel' | 'netlify' | 'fly-io' | 'railway' | 'render' | 'heroku' | 'aws' | 'gcp' | 'azure' | 'digitalocean' | 'kubernetes' | 'docker-compose' | 'cloudflare-pages' | 'github-pages' | 'custom';
export interface DeploymentDetection {
    targets: DeploymentTarget[];
    hasInfraAsCode: boolean;
    iacTools: string[];
    hasDockerCompose: boolean;
    hasKubernetes: boolean;
    hasHelmChart: boolean;
    configFiles: string[];
}
export type ObservabilityTool = 'prometheus' | 'grafana' | 'datadog' | 'new-relic' | 'opentelemetry' | 'cloudwatch' | 'sentry' | 'bugsnag' | 'rollbar' | 'honeycomb' | 'jaeger' | 'zipkin' | 'elk-stack' | 'loki' | 'victoria-metrics' | 'dynatrace' | 'instana' | 'signoz';
export interface ObservabilityStack {
    metrics: ObservabilityTool[];
    tracing: ObservabilityTool[];
    logging: ObservabilityTool[];
    errorTracking: ObservabilityTool[];
    alerting: ObservabilityTool[];
}
export interface MonitoringDetection {
    detected: ObservabilityStack;
    hasSlo: boolean;
    hasAlertRules: boolean;
    hasDashboards: boolean;
    configFiles: string[];
}
export interface DxHealthScore {
    score: number;
    categories: {
        ciCd: number;
        testing: number;
        observability: number;
        deployment: number;
        codeQuality: number;
        documentation: number;
        security: number;
    };
    gaps: string[];
    recommendations: string[];
}
export interface AlertSpec {
    name: string;
    condition: string;
    severity: 'critical' | 'warning' | 'info';
    notifyTeam: string;
    runbook: string;
    specId?: string;
}
export type IdpTool = 'backstage' | 'port-io' | 'cortex' | 'opslevel';
export interface IdpDetection {
    tool: IdpTool | null;
    componentName: string | null;
    owner: string | null;
    configFile: string | null;
}
export type AgileMethodology = 'scrum' | 'kanban' | 'safe' | 'shape-up' | 'unknown';
export interface AgileDetection {
    methodology: AgileMethodology | null;
    confidence: 'certain' | 'probable' | 'none';
    signals: string[];
}
export type GitOpsTool = 'argocd' | 'flux' | 'spinnaker';
export interface GitOpsDetection {
    tool: GitOpsTool | null;
    configFiles: string[];
}
export type PolicyTool = 'opa' | 'kyverno' | 'gatekeeper' | 'conftest';
export interface PolicyAsCodeDetection {
    tools: PolicyTool[];
    configFiles: string[];
}
export interface ContainerSupplyChainDetection {
    hasSbom: boolean;
    sbomTools: string[];
    hasImageSigning: boolean;
    hasVulnScanning: boolean;
    scanningTools: string[];
    distributesPublicImages: boolean;
    sbomGapSeverity: 'critical' | 'recommended' | 'none';
}
export type FinOpsTool = 'infracost' | 'opencost' | 'kubecost' | 'aws-cost-explorer' | 'gcp-billing-export' | 'azure-cost-management';
export interface FinOpsDetection {
    tools: FinOpsTool[];
    hasIacCostIntegration: boolean;
    configFiles: string[];
}
export type GapImpact = 'high' | 'medium' | 'low';
export type ProjectPhase = 'mvp' | 'production' | 'optional';
export interface NextStep {
    gap: string;
    description: string;
    impact: GapImpact;
    phase: ProjectPhase;
    planuToolHint: string;
    effortHours: number;
}
export interface JourneyGuidance {
    nextSteps: NextStep[];
    criticalCount: number;
    mvpBlockers: NextStep[];
}
//# sourceMappingURL=lifecycle.d.ts.map