import ContentAttachmentRecord from '../graph/ContentAttachmentRecord.ts';
import WarpState from './state/WarpState.ts';
export type ContentAttachmentProjectionEdge = {
    readonly from: string;
    readonly to: string;
    readonly label: string;
};
/** Projects legacy content properties into typed content attachment records. */
export default class ContentAttachmentProjection {
    /** Returns visible content attachments ordered by deterministic owner id. */
    static fromState(state: WarpState): readonly ContentAttachmentRecord[];
    /** Returns the visible content attachment for one node, if present. */
    static forNode(state: WarpState, nodeId: string): ContentAttachmentRecord | null;
    /** Returns the visible content attachment for one edge, if present. */
    static forEdge(state: WarpState, edge: ContentAttachmentProjectionEdge): ContentAttachmentRecord | null;
}
