import { ConvoKitProviderConstructor, ConvoKitProviderInfo } from '../index.js';
/**
 * Registry entry for a provider.
 */
export interface ProviderRegistryEntry {
    id: string;
    ctor: ConvoKitProviderConstructor;
    info: ConvoKitProviderInfo;
}
/**
 * Registry for all available ConvoKit providers.
 */
export declare class ProviderRegistry {
    private static registry;
    /**
     * Registers a provider with a unique ID.
     * @param id Unique provider identifier.
     * @param ctor Provider constructor.
     * @param info Provider metadata.
     */
    static register(id: string, ctor: ConvoKitProviderConstructor, info: ConvoKitProviderInfo): void;
    /**
     * Retrieves a registered provider entry by ID.
     */
    static get(id: string): ProviderRegistryEntry | undefined;
    /**
     * Lists all registered provider entries.
     */
    static list(): ProviderRegistryEntry[];
    /**
     * Finds the registered ID for a given provider constructor.
     * @param ctor The provider constructor to find the ID for.
     * @returns The ID if found, otherwise undefined.
     */
    static findIdByConstructor(ctor: ConvoKitProviderConstructor): string | undefined;
}
//# sourceMappingURL=ProviderRegistry.d.ts.map