import type { LifecycleAssessment, LifecycleAssessmentInput, LifecycleRecommendation, LifecycleStage } from '@contractspec/lib.lifecycle'; import { LifecycleKpiPipeline, type LifecyclePipelineEvent } from '@contractspec/lib.observability'; import { ContractSpecLibraryRecommender, LifecycleCeremonyDesigner, LifecycleRecommendationEngine } from '@contractspec/module.lifecycle-advisor'; import { type StageSignalCollectorOptions } from '@contractspec/module.lifecycle-core'; import { LifecycleEventBridge } from '../events/lifecycle-events'; export interface LifecycleAssessmentRequest extends LifecycleAssessmentInput { tenantId?: string; completedMilestones?: string[]; /** Preferred transport when the assessment triggers AI provider calls. */ transport?: 'rest' | 'mcp' | 'webhook' | 'sdk'; /** Preferred auth method when the assessment triggers AI provider calls. */ authMethod?: 'api-key' | 'oauth2' | 'bearer' | 'header' | 'basic' | 'webhook-signing' | 'service-account'; } export interface LifecycleAssessmentResponse { assessment: LifecycleAssessment; recommendation: LifecycleRecommendation; libraries: ReturnType; ceremony?: ReturnType; } export interface LifecycleAssessmentServiceOptions { collector: StageSignalCollectorOptions; pipeline?: LifecycleKpiPipeline; recommendationEngine?: LifecycleRecommendationEngine; libraryRecommender?: ContractSpecLibraryRecommender; ceremonyDesigner?: LifecycleCeremonyDesigner; eventBridge?: LifecycleEventBridge; onPipelineEvent?: (event: LifecyclePipelineEvent) => void; } export declare class LifecycleAssessmentService { private readonly orchestrator; private readonly recommendationEngine; private readonly libraryRecommender; private readonly ceremonyDesigner; private readonly pipeline; private readonly eventBridge?; constructor(options: LifecycleAssessmentServiceOptions); runAssessment(request: LifecycleAssessmentRequest): Promise; getStagePlaybook(stage: LifecycleStage): { recommendation: LifecycleRecommendation; libraries: import("@contractspec/module.lifecycle-advisor").LibraryRecommendation[]; ceremony: { title: string; copy: string; cues: string[]; } | undefined; }; }