/**
 * Docker Container Management
 *
 * Functions for managing Docker containers, images, and setup.
 * Uses raw Docker commands instead of devcontainer CLI.
 */
import { PermissionMode, ExecutorType, ExecutionContext, ExecutionConfig } from '../types.js';
/**
 * Get the host's installed prlt CLI version.
 * Returns the semver version string (e.g., "0.3.35") or null if not available.
 */
export declare function getHostPrltVersion(): string | null;
/**
 * Get the container name for an agent.
 * Format: prlt-agent-{agentName}
 */
export declare function getAgentContainerName(agentName: string): string;
export declare const getContainerName: typeof getAgentContainerName;
export declare function getImageName(agentName: string): string;
/**
 * Check if a Docker container exists (running or stopped).
 */
export declare function containerExists(containerName: string): boolean;
/**
 * Check if a Docker container is running.
 */
export declare function isContainerRunning(containerName: string): boolean;
/**
 * Get the container ID for a running container.
 */
export declare function getContainerId(containerName: string): string | null;
export declare function buildDockerImage(agentDir: string, imageName: string, buildArgs?: Record<string, string>): boolean;
export declare function imageExists(imageName: string): boolean;
/**
 * Create and start a Docker container for an agent.
 */
export declare function createDockerContainer(context: ExecutionContext, containerName: string, imageName: string, config: ExecutionConfig, executor?: ExecutorType, prltInfo?: {
    registry: string;
    version: string;
}): boolean;
/**
 * Run the post-start setup commands in a container.
 */
export declare function runContainerSetup(containerId: string, permissionMode?: PermissionMode, executor?: ExecutorType): boolean;
/**
 * Ensure a Docker container is running for the agent.
 * Reuses running containers to preserve in-progress work (TKT-1028).
 */
export declare function ensureDockerContainer(context: ExecutionContext, config: ExecutionConfig, executor?: ExecutorType): string | null;
