import type { InterfaceDefinition, InterfaceRef } from '../../interfaces/types.js';
import { CatalogClientFactory } from './client-factory.js';
import type { CatalogSource, ResolvedSpec } from './catalog-service.js';
/**
 * Cloud-fetch logic for interfaces — **fetch-by-ref ONLY**. Moved verbatim from
 * the old InterfaceManager.fetchInterface.
 *
 * Deliberately exposes no `search` / `listVersions` / enumeration: the set of
 * interfaces an ADK project can use is fixed by the `BUILTIN_INTERFACES` constant
 * (see `InterfaceRegistry`, which stays constants-only). This source only resolves
 * a known `name@version` ref to its cloud definition; it must never grow a listing
 * API, or it would undermine the built-in-interface-immutable invariant.
 */
export declare class InterfaceCatalogSource implements CatalogSource<InterfaceDefinition, InterfaceRef> {
    private readonly clientFactory;
    readonly cacheConfig: {
        cacheType: string;
        idField: string;
    };
    constructor(clientFactory: CatalogClientFactory);
    fetchByRef(ref: InterfaceRef): Promise<ResolvedSpec<InterfaceDefinition>>;
}
//# sourceMappingURL=interface-source.d.ts.map