import { type KnowledgeAssetWritableQuad } from '../knowledge-asset-write-contract.js';
/**
* GH #306 / #787 — shape guard for the lifecycle write routes. The `graph`
* term is OPTIONAL here: those routes legitimately accept `{subject,predicate,object}`
* and fill the graph internally. Without this guard, a string-shaped quad
* (e.g. an N-Quad line `"
."`) slips past a bare `Array.isArray`
* check and crashes the agent write path with a TypeError → HTTP 500 instead
* of an actionable 4xx.
*/
export declare function isWritableQuad(value: unknown): value is KnowledgeAssetWritableQuad;
/**
* GH #306 / #787 — the boundary check for quads a lifecycle write route stores
* (create and wm/write): shape, then every term, parsed exactly as sent by
* rdf-utils' `parseWritableRdfTerm`, against {@link WRITABLE_QUAD_TERMS}, and an
* optional bare graph IRI, then literal size. A string-shaped quad, a bare
* word, an unterminated literal or a malformed IRI such as `urn:a b`,
* `…/na^me` or `…/%zz` would otherwise reach the store. The store either fails
* the write (HTTP 500), or, for characters it strips, stores the triple under
* a different IRI. A literal carrying a raw line break could even add
* statements of its own. Returns the 400 body for the first failure, or null.
*/
export declare function validateWritableQuads(label: string, quads: unknown[]): Record | null;
//# sourceMappingURL=knowledge-asset-quad-validation.d.ts.map