import { ImageCacheHandler } from './image-cache-handler.js';
import { type CacheTargetProvider } from '../target-providers/cache-target-provider.js';
import { type ContainerEngineClient } from '../../container-engine/container-engine-client.js';
/**
 * Builder for {@link ImageCacheHandler}.
 *
 * This builder allows runtime construction of an image cache handler by
 * providing a target provider directly or by creating a YAML-backed target
 * provider from a file path.
 */
export declare class ImageCacheHandlerBuilder {
    private _provider?;
    private _engine?;
    private get name();
    /**
     * Creates a new builder preconfigured with a YAML-backed image target provider.
     *
     * @param filePath path to the image targets YAML file
     * @returns a new builder instance
     */
    static fromYaml(filePath: string): ImageCacheHandlerBuilder;
    /**
     * Sets the target provider explicitly.
     *
     * @param provider provider supplying image cache targets
     * @returns this builder
     */
    provider(provider: CacheTargetProvider): ImageCacheHandlerBuilder;
    /**
     * Creates and sets a YAML-backed image target provider using the given file path.
     *
     * @param filePath path to the image targets YAML file
     * @returns this builder
     */
    private yamlProvider;
    /**
     * Sets the container engine client to be used by the handler.
     *
     * @param engine container engine client
     * @returns this builder
     */
    engine(engine: ContainerEngineClient): ImageCacheHandlerBuilder;
    /**
     * Builds a ready-to-use {@link ImageCacheHandler}.
     *
     * @returns the configured image cache handler
     * @throws Error if any required dependency is missing
     */
    build(): ImageCacheHandler;
}
