import { type GitWarpReceiptEnvelopeAnchor } from '../../continuum/GitWarpReceiptEnvelopeBoundary.ts';
import ObserverEmission from './ObserverEmission.ts';
import ObserverPlan from './ObserverPlan.ts';
import type { WorldlineSource } from '../../capabilities/QueryCapability.ts';
export type ObserverReadingEnvelopeBudget = {
    readonly nodeCount: number;
    readonly edgeCount: number;
    readonly propertyKeyCount: number;
    readonly matchedBasisCount: number;
};
export type ObserverReadingEnvelopeFields = {
    readonly plan: ObserverPlan;
    readonly payload: ObserverEmission;
    readonly stateHash?: string | null;
    readonly witnessRef?: string | null;
    readonly shellRef?: string | null;
    readonly pluralityRef?: string | null;
    readonly receiptAnchors?: readonly GitWarpReceiptEnvelopeAnchor[];
};
/** Observer reading envelope tying source plan, emitted payload, and witness refs. */
export default class ObserverReadingEnvelope {
    readonly plan: ObserverPlan;
    readonly payload: ObserverEmission;
    readonly stateHash: string | null;
    readonly witnessRef: string | null;
    readonly shellRef: string | null;
    readonly pluralityRef: string | null;
    readonly receiptAnchors: readonly GitWarpReceiptEnvelopeAnchor[];
    readonly budget: ObserverReadingEnvelopeBudget;
    readonly residualBasis: readonly string[];
    constructor(fields: ObserverReadingEnvelopeFields);
    get source(): WorldlineSource;
    hasResidual(): boolean;
    hasPlurality(): boolean;
    hasReceiptAnchors(): boolean;
}
