import type { LoadedSchema } from "../lib/schema-loader.js";
interface WriteParams {
    labels: string[];
    properties: Record<string, unknown>;
    accountId?: string;
    /** Visibility scope for the node (e.g. "public", "shared", "admin", "user:phone:+44..."). Required — caller must specify. */
    scope: string;
    relationships?: Array<{
        type: string;
        direction: "outgoing" | "incoming";
        targetNodeId: string;
    }>;
    /**
     * Loaded schema used to validate the write before any Neo4j or embedding
     * work is done. Required — the caller (index.ts) loads this once at
     * startup and passes it to every call.
     */
    schema: LoadedSchema;
}
interface WriteResult {
    nodeId: string;
    labels: string[];
    created: boolean;
}
export declare function memoryWrite(params: WriteParams): Promise<WriteResult>;
/** Parse the violated property name and value from a Neo4j constraint error message. */
export declare function parseConstraintProperty(message: string): {
    propName: string;
    propValue: string;
} | null;
export declare function buildTextRepresentation(labels: string[], properties: Record<string, unknown>): string;
export {};
//# sourceMappingURL=memory-write.d.ts.map