import type { Scaffold, ScaffoldDiscoveryOptions, ScaffoldProvider, ScaffoldTransformer } from './types.js';
/**
 * Scaffold registry for discovering and managing scaffolds
 */
export declare class ScaffoldRegistry {
    private providers;
    private transformers;
    private scaffoldCache;
    /**
     * Add scaffold providers
     */
    addProviders(providers: ScaffoldProvider[]): void;
    /**
     * Add scaffold transformers
     */
    addTransformers(transformers: ScaffoldTransformer[]): void;
    /**
     * Clear the scaffold cache
     */
    clearCache(): void;
    /**
     * Get all scaffolds from all sources
     * @param options - Discovery options
     * @returns Array of scaffolds (deduplicated by name, later sources override earlier)
     */
    getScaffolds(options?: ScaffoldDiscoveryOptions): Promise<Scaffold[]>;
    /**
     * Get a specific scaffold by ID
     * @param id - Scaffold ID
     * @param options - Discovery options
     * @returns Scaffold or null if not found
     */
    getScaffold(id: string, options?: ScaffoldDiscoveryOptions): Promise<Scaffold | null>;
    /**
     * Search scaffolds by query
     * @param query - Search query
     * @param options - Additional discovery options
     * @returns Matching scaffolds
     */
    searchScaffolds(query: string, options?: ScaffoldDiscoveryOptions): Promise<Scaffold[]>;
}
/**
 * Create a new scaffold registry instance
 */
export declare function createScaffoldRegistry(): ScaffoldRegistry;
