///
import Modem = require('docker-modem');
import fs = require('fs');
/**
* Class representing an image
*/
export declare class Image {
modem: Modem;
id: String;
data: Object;
/**
* Creates a new image
* @param {Modem} modem Modem to connect to the remote service
* @param {string} id Container id
*/
constructor(modem: Modem, id: String);
/**
* Get low-level information on an image
* https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/inspect-an-image
* The reason why this module isn't called inspect is because that interferes with the inspect utility of node.
* @param {Object} opts Query params in the request (optional)
* @return {Promise} Promise return the image
*/
status(opts?: Object): Promise;
/**
* History of the image
* https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/get-the-history-of-an-image
* @param {Object} opts Query params in the request (optional)
* @param {String} id ID of the image to inspect, if it's not set, use the id of the object (optional)
* @return {Promise} Promise return the events in the history
*/
history(opts?: Object): Promise>;
/**
* Push an image to the registry
* https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/push-an-image-on-the-registry
* @param {Object} auth Authentication (optional)
* @param {Object} opts Query params in the request (optional)
* @return {Promise} Promise return the resulting stream
*/
push(auth?: Object, opts?: Object): Promise