/**
 * Mem0 provider abstraction — supports both Platform (cloud) and OSS (local SQLite) modes.
 *
 * Uses the `mem0ai` npm SDK which handles:
 * - Platform mode: REST API calls to api.mem0.ai
 * - OSS mode: local SQLite vector store + LLM extraction via configured provider
 */
import type { AddResult, Mem0ExtensionConfig, MemoryItem } from './types.js';
export interface Mem0Provider {
    add(messages: Array<{
        role: string;
        content: string;
    }>, opts: {
        userId: string;
        infer?: boolean;
    }): Promise<AddResult | null>;
    search(query: string, opts: {
        userId: string;
        topK?: number;
    }): Promise<MemoryItem[]>;
    getAll(opts: {
        userId: string;
    }): Promise<MemoryItem[]>;
}
/** Optional key resolver — pulls API keys from pi's model registry. */
export type KeyResolver = (provider: string) => Promise<string | undefined>;
export interface CreateProviderOptions {
    config: Mem0ExtensionConfig;
    /** Resolve API key from pi model registry by provider name. */
    resolveKey?: KeyResolver;
}
export declare function createMem0Provider(opts: CreateProviderOptions): Promise<Mem0Provider>;
//# sourceMappingURL=provider.d.ts.map