import type { EmbeddingConfig, MagicContextConfig } from "../config/schema/magic-context";
export interface ResolvedSynapseEmbeddingConfig {
    provider: "synapse";
    model: string;
    max_input_tokens: 8192;
    synapse_connection_file: string;
    synapse_fingerprint: string;
    synapse_table_epoch: number;
    synapse_dims?: number;
    synapse_recommended_batch?: number;
    synapse_provenance?: unknown;
}
export interface ResolvedEmbeddingRouting {
    /** Provider config for the authoritative lane. */
    primary: EmbeddingConfig | ResolvedSynapseEmbeddingConfig;
    /** Separate Synapse config for the developer mirror, when armed. */
    shadow: ResolvedSynapseEmbeddingConfig | null;
    /** Human-readable warnings produced while selecting a lane. */
    warnings: string[];
}
/**
 * Resolve daemon availability before registration so a fallback vector can never
 * be written under a Synapse identity. The registry receives only the selected
 * lane's provider fields, not the raw routing controls.
 */
export declare function resolveEmbeddingRouting(args: {
    config: MagicContextConfig;
    projectRoot: string;
    session?: string;
}): Promise<ResolvedEmbeddingRouting>;
export declare function getResolvedSynapseProviderIdentity(config: ResolvedSynapseEmbeddingConfig): string;
//# sourceMappingURL=embedding-routing.d.ts.map