/**
 * Abstraction over local container engine operations.
 *
 * Initially this will be implemented for Docker, but the contract is broad
 * enough to support other OCI-compatible engines later if needed.
 */
export interface ContainerEngineClient {
    /**
     * Pulls an image from its registry.
     */
    pullImage(image: string): Promise<void>;
    /**
     * Saves an image to a local archive file.
     */
    saveImage(image: string, archivePath: string): Promise<void>;
    /**
     * Loads an image archive into the local container engine.
     */
    loadImage(archivePath: string): Promise<void>;
    /**
     * Loads an image archive into a cluster runtime, such as Kind.
     */
    loadImageArchiveIntoCluster(archivePath: string, clusterName?: string): Promise<void>;
    /**
     * Removes an image from the local container engine.
     */
    removeImage(image: string): Promise<void>;
    /**
     * Lists all images loaded into the local container engine.
     */
    listLoadedImagesInCluster(clusterName: string): Promise<readonly string[]>;
}
