import { CacheArtifactEnum } from '../enums/cache-artifact-enum.js';
import { CachedItem } from '../models/impl/cached-item.js';
import { ArtifactHealthResult } from '../models/impl/artifact-health-result.js';
import { type CacheOperationHandler } from '../api/cache-operation-handler.js';
import { type ContainerEngineClient } from '../../container-engine/container-engine-client.js';
import { type CacheTargetProvider } from '../target-providers/cache-target-provider.js';
import { type CacheHealthInspector } from '../api/cache-health-inspector.js';
import { type CacheTarget } from '../models/impl/cache-target.js';
import { type SoloListrTask } from '../../../types/index.js';
import { type AnyListrContext } from '../../../types/aliases.js';
import { type SoloLogger } from '../../../core/logging/solo-logger.js';
import { type CacheCatalogStore } from '../api/cache-catalog-store.js';
export declare class ImageCacheHandler implements CacheOperationHandler {
    private readonly engine;
    private readonly provider;
    readonly store?: CacheCatalogStore;
    private readonly inspector?;
    private readonly logger?;
    constructor(engine: ContainerEngineClient, provider: CacheTargetProvider, store?: CacheCatalogStore, inspector?: CacheHealthInspector, logger?: SoloLogger);
    getType(): CacheArtifactEnum;
    resolveRequiredArtifacts(): Promise<readonly CacheTarget[]>;
    private resolveExpectedCachedItems;
    pull(): Promise<SoloListrTask<AnyListrContext>[]>;
    load(target: string): Promise<SoloListrTask<AnyListrContext>[]>;
    clear(): Promise<void>;
    healthcheck(): Promise<readonly ArtifactHealthResult[]>;
    list(): Promise<readonly CachedItem[]>;
    pullKindNodeImageIfMissing(): Promise<void>;
    loadKindNodeImageIntoEngine(): Promise<void>;
}
