import { ChecksumUint8Array, GuidUint8Array, Member, PlatformID, SignatureUint8Array } from '@digitaldefiance/ecies-lib'; /** * Base interface for all network-related documents */ export interface NetworkDocument { id: TID; type: 'NODE' | 'PEER' | 'BLOCK_INDEX' | 'METADATA'; version: number; created: Date; updated: Date; creator: Member; signature: SignatureUint8Array; checksum: ChecksumUint8Array; ttl?: number; replicationFactor?: number; priority?: 'LOW' | 'NORMAL' | 'HIGH' | 'CRITICAL'; tags?: string[]; references?: GuidUint8Array[]; } /** * Base class for network documents that will be stored in CBLs */ export declare abstract class BaseNetworkDocument implements NetworkDocument { id: TID; type: 'NODE' | 'PEER' | 'BLOCK_INDEX' | 'METADATA'; version: number; created: Date; updated: Date; creator: Member; signature: SignatureUint8Array; checksum: ChecksumUint8Array; ttl?: number; replicationFactor?: number; priority?: 'LOW' | 'NORMAL' | 'HIGH' | 'CRITICAL'; tags?: string[]; references?: GuidUint8Array[]; constructor(type: 'NODE' | 'PEER' | 'BLOCK_INDEX' | 'METADATA', creator: Member, options?: { id?: TID; version?: number; ttl?: number; replicationFactor?: number; priority?: 'LOW' | 'NORMAL' | 'HIGH' | 'CRITICAL'; tags?: string[]; references?: GuidUint8Array[]; }); /** * Sign the document with the creator's key */ sign(): Promise; /** * Verify the document's signature */ verify(): Promise; /** * Convert to CBL-compatible format * This will be implemented by derived classes */ abstract toCBL(): Promise; /** * Create from CBL data * This will be implemented by derived classes */ abstract fromCBL(data: Buffer): Promise; /** * Update the document * This will update the 'updated' timestamp and increment version */ protected update(): void; } //# sourceMappingURL=networkDocument.d.ts.map