export interface EntitySnapshotRowForEmbedding {
    entity_id: string;
    entity_type: string;
    schema_version: string;
    snapshot: Record<string, unknown>;
    computed_at: string;
    observation_count: number;
    last_observation_at: string;
    provenance: Record<string, unknown>;
    user_id: string;
}
export interface EntitySnapshotRowWithEmbedding extends EntitySnapshotRowForEmbedding {
    embedding?: number[] | null;
}
/**
 * Prepare an entity snapshot row with embedding for upsert.
 * Fetches canonical_name from entities if not provided, builds searchable text,
 * generates embedding when OPENAI is configured, and returns the row with embedding.
 */
export declare function prepareEntitySnapshotWithEmbedding(snapshotRow: EntitySnapshotRowForEmbedding, canonicalName?: string | null): Promise<EntitySnapshotRowWithEmbedding>;
/**
 * Upsert entity snapshot and store embedding for local backend when present.
 * Single entry point for all entity_snapshots upserts to ensure local embedding storage.
 */
export declare function upsertEntitySnapshotWithEmbedding(row: EntitySnapshotRowWithEmbedding): Promise<void>;
/**
 * Get the entity_snapshots row payload for upsert, including embedding when supported.
 * Omits embedding for local/SQLite backend (no embedding column).
 */
export declare function getEntitySnapshotUpsertPayload(row: EntitySnapshotRowWithEmbedding): Record<string, unknown>;
//# sourceMappingURL=entity_snapshot_embedding.d.ts.map