/**
 * Deploy Command - Deployment Management
 *
 * ARCHITECTURE:
 * - This module supports both orchestration commands AND local deployment management
 * - Authorized users (internal email or paid API key) get full execution
 *
 * SUBCOMMANDS (Local Deployment):
 * - preview    Generate deployment preview
 * - run        Execute deployment via downstream services
 * - status     Check deployment status
 * - rollback   Rollback deployment via downstream services
 *
 * ORCHESTRATION (External):
 * - Default command executes via agentics-deployment-intent
 */
import type { CommandOptions, IntentReference, SimulationReference, FlexibleInput } from '../types/index.js';
export interface DeployCommandInput {
    simRef: FlexibleInput<SimulationReference>;
    environment?: 'development' | 'staging' | 'production';
    approvalRequired?: boolean;
    dryRun?: boolean;
    rollbackOnFailure?: boolean;
}
export interface DeployCommandResult {
    reference: IntentReference;
    timing: number;
}
export declare function executeDeployCommand(input: DeployCommandInput, options: CommandOptions): Promise<DeployCommandResult>;
export declare const DEPLOY_EXIT_CODES: {
    readonly SUCCESS: 0;
    readonly INPUT_ERROR: 100;
    readonly NOT_FOUND: 100;
    readonly IO_ERROR: 74;
    readonly UNEXPECTED_ERROR: 1;
};
export type DeployStatus = 'pending' | 'previewed' | 'running' | 'completed' | 'failed' | 'rolled_back';
export interface DeployRecord {
    id: string;
    target_id: string;
    environment: 'development' | 'staging' | 'production';
    status: DeployStatus;
    preview: DeployPreview | null;
    execution: DeployExecution | null;
    created_at: string;
    updated_at: string;
    version: number;
    metadata?: Record<string, unknown>;
}
export interface DeployPreview {
    changes: DeployChange[];
    estimated_duration_seconds: number;
    risk_level: 'low' | 'medium' | 'high';
    requires_approval: boolean;
    generated_at: string;
}
export interface DeployChange {
    resource: string;
    action: 'create' | 'update' | 'delete' | 'unchanged';
    details: string;
}
export interface DeployExecution {
    started_at: string;
    completed_at: string | null;
    steps_completed: number;
    steps_total: number;
    advisory: boolean;
    logs: string[];
}
export interface DeployPreviewInput {
    target_id: string;
    environment?: 'development' | 'staging' | 'production';
}
export interface DeployPreviewResult {
    result: DeployRecord;
    timing: number;
}
export interface DeployRunInput {
    deployment_id: string;
}
export interface DeployRunResult {
    result: DeployRecord;
    advisory: boolean;
    timing: number;
}
export interface DeployStatusInput {
    deployment_id: string;
}
export interface DeployStatusResult {
    result: DeployRecord | null;
    found: boolean;
    timing: number;
}
export interface DeployRollbackInput {
    deployment_id: string;
}
export interface DeployRollbackResult {
    result: DeployRecord;
    advisory: boolean;
    timing: number;
}
export interface DeployListResult {
    items: DeployRecord[];
    count: number;
    timing: number;
}
export declare function formatDeployForDisplay(record: DeployRecord): string;
export declare function formatDeployListForDisplay(items: DeployRecord[]): string;
export declare function executeDeployPreviewCommand(input: DeployPreviewInput, options: CommandOptions): Promise<DeployPreviewResult>;
export declare function executeDeployRunCommand(input: DeployRunInput, options: CommandOptions): Promise<DeployRunResult>;
export declare function executeDeployStatusCommand(input: DeployStatusInput, options: CommandOptions): Promise<DeployStatusResult>;
export declare function executeDeployRollbackCommand(input: DeployRollbackInput, options: CommandOptions): Promise<DeployRollbackResult>;
export declare function executeDeployListCommand(options: CommandOptions): Promise<DeployListResult>;
//# sourceMappingURL=deploy.d.ts.map