import type { ConfigPort, PathService } from "../../runtime/ports/index.js";
import type { LocalEmbeddingConfig } from "./local-embedding.js";
export interface MemoryProviderFactoryConfig {
    /** Active owner profile. All local memory files are physically scoped here. */
    ownerUserId: string;
    /** User ID prefix. */
    userIdPrefix?: string;
    /** Embedding config for local provider. */
    embedding?: LocalEmbeddingConfig;
}
export interface MemoryEmbeddingModelBinding {
    provider: string;
    apiKey: string;
    model: string;
    baseUrl?: string;
    keyHandle: {
        release(result: {
            success: boolean;
        }): void;
    };
}
export interface MemoryEmbeddingModelRegistry {
    getActiveModel(purpose: "embedding"): MemoryEmbeddingModelBinding | null;
}
export interface MemoryConfigResolutionDeps {
    config: ConfigPort;
    pathService: PathService;
    modelRegistry: MemoryEmbeddingModelRegistry;
}
export declare function resolveMemoryProviderConfig(deps: MemoryConfigResolutionDeps): MemoryProviderFactoryConfig;
export type { LocalEmbeddingConfig };
