/** * Graph Adapter Factory * * Factory for creating graph database adapters based on type. * Supports runtime registration of custom adapters. */ import { GraphType } from '../types/enums'; import { BaseGraphAdapter } from './base.adapter'; /** * Factory for creating graph database adapters */ export declare class GraphAdapterFactory { /** * Map of adapter constructors by graph type */ private adapterConstructors; constructor(); /** * Create an adapter instance for the specified graph type * @param type Graph database type * @returns New adapter instance */ create(type: GraphType | string): BaseGraphAdapter; /** * Check if a graph type is supported * @param type Graph type to check * @returns True if supported */ isSupported(type: GraphType | string): boolean; /** * Get all supported graph types * @returns Array of supported graph types */ getSupportedTypes(): (GraphType | string)[]; /** * Register a custom adapter for a graph type * @param type Graph type * @param AdapterConstructor Adapter constructor */ registerAdapter(type: GraphType | string, AdapterConstructor: new () => BaseGraphAdapter): void; /** * Unregister an adapter * @param type Graph type to unregister * @returns True if adapter was removed */ unregisterAdapter(type: GraphType | string): boolean; }