import { Dependencies, ValidationError } from '../agent-project/types.js';
import { IntegrationDefinition, ParsedIntegration, IntegrationRef } from './types.js';
import type { HubCacheEntry } from './hub-cache.js';
import { type CatalogClientOptions } from '../dependencies/catalog/client-factory.js';
export interface IntegrationManagerOptions extends CatalogClientOptions {
    noCache?: boolean;
}
/**
 * Loads, validates and searches integrations.
 *
 * Since WS4 this is a thin shim: the cloud fetch + two-level cache live in the
 * unified {@link CatalogService} / {@link IntegrationCatalogSource}. This class
 * keeps the parse-and-validate orchestration (`loadIntegrations`) and the stable
 * public surface that the rest of the ADK and the package consumers import.
 */
export declare class IntegrationManager {
    private readonly source;
    private readonly service;
    constructor(options?: IntegrationManagerOptions);
    /**
     * Load and validate all integrations from dependencies
     */
    loadIntegrations(dependencies: Dependencies): Promise<{
        integrations: ParsedIntegration[];
        errors: ValidationError[];
        warnings: ValidationError[];
    }>;
    /** Fetch an integration definition from API or cache. */
    fetchIntegration(ref: IntegrationRef): Promise<IntegrationDefinition>;
    /** Search public integrations in the Botpress hub. */
    searchIntegrations(query: string, limit?: number): Promise<HubCacheEntry[]>;
    /** Find public integrations that implement a given interface (by interface name). */
    findImplementersOfInterface(interfaceName: string, limit?: number): Promise<HubCacheEntry[]>;
    /** List known public versions for an integration name. */
    listIntegrationVersions(name: string): Promise<string[]>;
    getCacheStats(): Promise<{
        count: number;
        sizeBytes: number;
    }>;
    clearCache(): Promise<void>;
    /**
     * Validate an integration definition
     */
    private validateIntegration;
}
//# sourceMappingURL=manager.d.ts.map