import ContentAttachmentRecord from './ContentAttachmentRecord.ts';
import type ContentAttachmentPayload from './ContentAttachmentPayload.ts';
export type ContentAttachmentEdgeWriteTarget = {
    readonly from: string;
    readonly to: string;
    readonly label: string;
};
/** Runtime-backed intent to write content before legacy property lowering. */
export default class ContentAttachmentWriteIntent {
    private readonly record;
    constructor(record: ContentAttachmentRecord);
    /** Builds a node-owned content write intent. */
    static forNode(nodeId: string, payload: ContentAttachmentPayload): ContentAttachmentWriteIntent;
    /** Builds an edge-owned content write intent. */
    static forEdge(edge: ContentAttachmentEdgeWriteTarget, payload: ContentAttachmentPayload): ContentAttachmentWriteIntent;
    /** Returns the node target id for a node-owned content write intent. */
    nodeId(): string;
    /** Returns the edge target for an edge-owned content write intent. */
    edgeTarget(): ContentAttachmentEdgeWriteTarget;
    /** Returns the validated content storage reference. */
    oid(): string;
    /** Returns the validated MIME hint, when present. */
    mime(): string | null;
    /** Returns the validated byte size, when present. */
    size(): number | null;
}
