/**
 * Deploy Operation - Handles Kubernetes manifest deployment with readiness checking
 * PRD #343: Uses plugin system for kubectl operations
 */
export interface DeployOptions {
    solutionId: string;
    sessionDir?: string;
    timeout?: number;
}
export interface DeployResult {
    success: boolean;
    solutionId: string;
    manifestPath: string;
    readinessTimeout: boolean;
    message: string;
    kubectlOutput: string;
}
export declare class DeployOperation {
    /**
     * PRD #359: Uses unified plugin registry for kubectl operations
     */
    constructor();
    /**
     * Deploy Kubernetes manifests from generated solution
     * PRD #343: Uses plugin for kubectl operations
     */
    deploy(options: DeployOptions): Promise<DeployResult>;
    /**
     * Get the manifest file path for the solution
     */
    private getManifestPath;
    /**
     * Verify that the manifest file exists
     */
    private verifyManifestExists;
    /**
     * Execute kubectl command via plugin
     * PRD #359: All kubectl operations go through unified plugin registry
     */
    private executeKubectl;
    /**
     * Apply manifests using kubectl with readiness checking
     * PRD #343: Uses kubectl_apply tool with manifest content (not file path)
     * File paths don't work across containers - must pass content via stdin
     */
    private applyManifests;
    /**
     * Apply manifest content using kubectl_apply tool
     * PRD #359: Uses unified plugin registry's kubectl_apply tool with stdin
     */
    private applyManifestContent;
}
//# sourceMappingURL=deploy-operation.d.ts.map