export type DeploymentStage = { name: string; actions: DeploymentAction[]; requiresApproval?: boolean; timeoutMinutes?: number; rollbackOnFailure?: boolean; }; export type DeploymentAction = { type: "provision" | "test" | "validate" | "notify" | "wait" | "custom"; name: string; config?: Record; timeoutSeconds?: number; }; export type DeploymentPipeline = { id: string; name: string; description?: string; stages: DeploymentStage[]; environments: string[]; triggers?: DeploymentTrigger[]; createdAt: Date; updatedAt: Date; }; export type DeploymentTrigger = { type: "manual" | "schedule" | "webhook" | "commit"; config?: Record; }; export type DeploymentExecution = { id: string; pipelineId: string; environment: string; status: "pending" | "running" | "completed" | "failed" | "cancelled"; stages: DeploymentStageExecution[]; startedAt?: Date; completedAt?: Date; triggeredBy: string; approvals?: DeploymentApproval[]; }; export type DeploymentStageExecution = { stageName: string; status: "pending" | "running" | "completed" | "failed" | "skipped"; actions: DeploymentActionExecution[]; startedAt?: Date; completedAt?: Date; error?: string; }; export type DeploymentActionExecution = { actionName: string; status: "pending" | "running" | "completed" | "failed"; output?: string; error?: string; startedAt?: Date; completedAt?: Date; durationMs?: number; }; export type DeploymentApproval = { stageName: string; approvedBy: string; approvedAt: Date; comment?: string; }; export type ChangeRequest = { id: string; title: string; description: string; environment: string; changes: ChangeItem[]; status: "draft" | "pending_review" | "approved" | "rejected" | "implemented"; createdBy: string; createdAt: Date; reviewedBy?: string; reviewedAt?: Date; implementedAt?: Date; comments?: ChangeComment[]; }; export type ChangeItem = { type: "add" | "modify" | "delete"; resource: string; oldValue?: unknown; newValue?: unknown; description: string; }; export type ChangeComment = { id: string; author: string; content: string; createdAt: Date; }; export type DeploymentExecutor = { executeAction(action: DeploymentAction, context: DeploymentContext): Promise; }; export type DeploymentContext = { executionId: string; pipelineId: string; environment: string; stageName: string; variables: Record; secrets: Record; }; export declare class DefaultDeploymentExecutor implements DeploymentExecutor { executeAction(action: DeploymentAction, context: DeploymentContext): Promise; } export declare class DeploymentPipelineManager { private readonly pipelines; private readonly executions; private readonly executor; constructor(executor?: DeploymentExecutor); createPipeline(pipeline: Omit): string; getPipeline(id: string): DeploymentPipeline | undefined; updatePipeline(id: string, updates: Partial): boolean; deletePipeline(id: string): boolean; listPipelines(): DeploymentPipeline[]; executePipeline(pipelineId: string, environment: string, triggeredBy: string, variables?: Record, secrets?: Record): Promise; private runExecution; private getPipelineForExecution; private runStageExecution; private runStageActions; private runSingleAction; private applyActionResult; getExecution(id: string): DeploymentExecution | undefined; listExecutions(pipelineId?: string, environment?: string): DeploymentExecution[]; approveStage(executionId: string, stageName: string, approvedBy: string, comment?: string): Promise; } export declare class ChangeManagementSystem { private readonly changeRequests; createChangeRequest(request: Omit): string; getChangeRequest(id: string): ChangeRequest | undefined; updateChangeRequest(id: string, updates: Partial): boolean; submitForReview(id: string): boolean; approveChangeRequest(id: string, reviewedBy: string): boolean; rejectChangeRequest(id: string, reviewedBy: string): boolean; implementChangeRequest(id: string): boolean; addComment(id: string, comment: Omit): boolean; listChangeRequests(status?: ChangeRequest["status"], environment?: string): ChangeRequest[]; } //# sourceMappingURL=deployments.d.ts.map