export type FederationMessageType = 'task-assignment' | 'memory-query' | 'memory-response' | 'context-share' | 'status-broadcast' | 'trust-change' | 'topology-change' | 'agent-spawn' | 'heartbeat' | 'challenge' | 'challenge-response' | 'handshake-init' | 'handshake-accept' | 'handshake-reject' | 'session-terminate' | 'claim-event' | 'agent-handoff'; export type PIIScanAction = 'pass' | 'redact' | 'hash' | 'block'; export interface PIIScanResult { readonly scanned: boolean; readonly piiFound: boolean; readonly detections: readonly PIIScanDetection[]; readonly actionsApplied: readonly PIIScanAction[]; readonly scanDurationMs: number; } export interface PIIScanDetection { readonly type: string; readonly action: PIIScanAction; readonly confidence: number; } export interface FederationEnvelopeProps { readonly envelopeId: string; readonly sourceNodeId: string; readonly targetNodeId: string; readonly sessionId: string; readonly messageType: FederationMessageType; readonly payload: T; readonly timestamp: Date; readonly nonce: string; readonly hmacSignature: string; readonly piiScanResult: PIIScanResult; } export declare class FederationEnvelope { readonly envelopeId: string; readonly sourceNodeId: string; readonly targetNodeId: string; readonly sessionId: string; readonly messageType: FederationMessageType; readonly payload: T; readonly timestamp: Date; readonly nonce: string; readonly hmacSignature: string; readonly piiScanResult: PIIScanResult; constructor(props: FederationEnvelopeProps); isExpired(maxAgeMs: number): boolean; toJSON(): Record; toSignablePayload(): string; static emptyScanResult(): PIIScanResult; } export declare const CONSENSUS_REQUIRED_TYPES: ReadonlySet; //# sourceMappingURL=federation-envelope.d.ts.map