import type { AttributionAxisTag, AttributionPrimitive, AttributionProjection, ComputeAxisItem, DataAxisItem, GovernanceAxisEntry, ProtocolAxisItem } from './types.js'; /** Extract a single axis projection from a primitive. §2.2. The projection * carries a copy of the axis content (no deep clone — callers treating * projections as transport should serialize immediately) plus the two-hop * sibling path to reconstruct the root. */ export declare function projectAttribution(primitive: AttributionPrimitive, axis: AttributionAxisTag): AttributionProjection; /** Convenience: extract all four projections in one call. Useful when an * issuer wants to emit projections to four independent settlement queues * in parallel. */ export declare function projectAllAxes(primitive: AttributionPrimitive): { D: AttributionProjection; P: AttributionProjection; G: AttributionProjection; C: AttributionProjection; }; /** Type-narrowing helpers so callers can pull a projection's axis_data with * the right shape. Throws if the tag doesn't match the expected axis. * (Verification happens separately in verify.ts — these helpers only do * runtime-tag dispatch, no signature checking.) */ export declare function projectionDataAsD(p: AttributionProjection): DataAxisItem[]; export declare function projectionDataAsP(p: AttributionProjection): ProtocolAxisItem[]; export declare function projectionDataAsG(p: AttributionProjection): GovernanceAxisEntry[]; export declare function projectionDataAsC(p: AttributionProjection): ComputeAxisItem[]; //# sourceMappingURL=project.d.ts.map