/** * Namespace crawler for discovering models in the Spinta API */ import type { SpintaClient } from '../client/SpintaClient.js'; /** Model metadata from API */ export interface ModelMetadata { path: string; title?: string; description?: string; properties: PropertyMetadata[]; } /** Property metadata from API */ export interface PropertyMetadata { name: string; type: string; ref?: string; title?: string; description?: string; } /** Namespace entry */ export interface NamespaceEntry { path: string; type: 'ns' | 'model'; title?: string; } /** * Crawl a namespace and discover all models * * @param client - SpintaClient instance * @param namespace - Starting namespace path * @param recursive - Whether to recurse into sub-namespaces * @returns Array of model paths discovered */ export declare function crawlNamespace(client: SpintaClient, namespace: string, recursive?: boolean): Promise; /** * Fetch model metadata by sampling actual data * * Since the :schema endpoint requires authentication, we infer types * from actual data by fetching a sample record. * * @param _client - SpintaClient instance (unused, using direct fetch) * @param modelPath - Full model path * @returns Model metadata with inferred properties */ export declare function fetchModelMetadata(_client: SpintaClient, modelPath: string, suppressErrors?: boolean): Promise; /** * Fetch metadata for multiple models */ export declare function fetchAllModelsMetadata(client: SpintaClient, modelPaths: readonly string[]): Promise; //# sourceMappingURL=crawler.d.ts.map