import { IAuditable, IBetterLogger } from "@codiac.io/codiac-common";
import { ImageArchTypesEnum, ImageOSTypesEnum } from "@codiac.io/codiac-domain";
import { Image, ImageRegistry } from "../apis/codiac-api/contracts";
import { RelayClient as GenRelayClient } from "../apis/codiac-relay";
import { RegistryReference } from "./image-registry-contextualizer";
import { IOutputStyler, IUserInputProvider } from "../ops";
/** Fully qualified image name in a registry, parsed out. */
export type ImageReference = {
    registry: RegistryReference;
    name?: string;
    os?: ImageOSTypesEnum;
    arch?: ImageArchTypesEnum;
};
/** User interactions for selecting an image from a given container registry.
 */
export declare class ImageContextualizer {
    private _ui;
    private _styler;
    private relayClient;
    private logger;
    constructor(_ui: IUserInputProvider, _styler: IOutputStyler, relayClient: GenRelayClient, logger: IBetterLogger);
    promptForImage(registry: ImageRegistry, defaults: ImageReference): Promise<Image>;
    protected createAuditable(): IAuditable;
}
