import type { ISearchParams, ISearchResult, ChainPrefix, ChainType } from '../interfaces/agent.js'; export interface ICachedAgent { id: string; chain_prefix: string; chain_type: string; chain_id: string | null; raw_id: string; name: string; name_lower: string; description: string | null; image: string | null; owner: string; collection: string | null; metadata: string | null; endpoints: string | null; trust_tier: number | null; quality_score: number | null; total_feedbacks: number; average_score: number; created_at: number; updated_at: number; synced_at: number; } export interface ISyncState { source_id: string; chain_prefix: string; last_cursor: string | null; last_timestamp: number | null; total_agents: number | null; status: 'idle' | 'syncing' | 'error'; error_message: string | null; updated_at: number; } export interface IChainRecord { prefix: string; chain_type: string; chain_id: string | null; display_name: string; rpc_url: string | null; indexer_url: string | null; is_default: boolean; priority: number; } export interface ICacheStats { total: number; byChain: Record; dbSize: string; lastSync: Record; } export interface IUpsertAgent { id: string; chainPrefix: ChainPrefix; chainType: ChainType; chainId?: string; rawId: string; name: string; description?: string; image?: string; owner: string; collection?: string; metadata?: Record; endpoints?: unknown[]; trustTier?: number; qualityScore?: number; totalFeedbacks?: number; averageScore?: number; createdAt: number; updatedAt: number; } export interface ISqliteStoreOptions { dbPath?: string; /** Memory-mapped I/O size in bytes (default: 256MB). Set lower for constrained environments. */ mmapSize?: number; /** SQLite cache size. Negative = KB, positive = pages (default: -64000 = 64MB). */ cacheSize?: number; } export declare class SqliteStore { private db; private readonly dbPath; private readonly mmapSize; private readonly cacheSize; constructor(options?: ISqliteStoreOptions | string); private initialize; upsertAgent(agent: IUpsertAgent): void; upsertAgentsBatch(agents: IUpsertAgent[]): void; getAgent(id: string): ICachedAgent | null; deleteAgent(id: string): boolean; searchByName(query: string, options?: { chainPrefix?: string; limit?: number; offset?: number; }): ISearchResult; searchAgents(params: ISearchParams): ISearchResult; getSyncState(sourceId: string): ISyncState | null; updateSyncState(sourceId: string, updates: Partial>): void; getChain(prefix: string): IChainRecord | null; getDefaultChain(): IChainRecord | null; getAllChains(): IChainRecord[]; updateChain(prefix: string, updates: Partial>): void; getStats(): ICacheStats; optimizeFts(): void; vacuum(): void; close(): void; private escapeFtsQuery; private formatBytes; private toAgentSummary; } //# sourceMappingURL=sqlite-store.d.ts.map