@averox/cryptosphare
Version:
Real-time SDK for end-to-end encrypted messaging, key monitoring, and secure A/V streaming
52 lines (51 loc) • 1.52 kB
TypeScript
export interface IConfig {
encryption?: {
forwardSecrecy?: boolean;
quantumResistant?: boolean;
algorithm?: 'AES-256-GCM' | 'ChaCha20-Poly1305';
keyRotationInterval?: number;
};
streaming?: {
audio?: boolean;
video?: boolean;
videoQuality?: '480p' | '720p' | '1080p';
audioQuality?: 'low' | 'medium' | 'high';
};
monitoring?: {
encryptionLogs?: boolean;
keyMonitoring?: boolean;
performanceMetrics?: boolean;
eventHandlers?: {
onKeyRotation?: (event: IKeyEvent) => void;
onEncryption?: (stats: IEncryptionStats) => void;
onMetricsUpdate?: (metrics: IKeyMetrics & IEncryptionMetrics) => void;
};
};
telemetryLevel?: 'Basic' | 'Standard' | 'Advanced' | 'Comprehensive';
}
export interface IKeyEvent {
type: 'generated' | 'rotated' | 'compromised' | 'revoked';
status: 'active' | 'compromised' | 'revoked';
timestamp: Date;
metadata: Record<string, unknown>;
}
export interface IEncryptionStats {
operationId: string;
type: 'encrypt' | 'decrypt';
success: boolean;
latency: number;
timestamp: Date;
metadata: Record<string, unknown>;
}
export interface IKeyMetrics {
totalKeys: number;
activeKeys: number;
compromisedKeys: number;
lastUpdated: Date;
}
export interface IEncryptionMetrics {
totalOperations: number;
successRate: number;
averageLatency: number;
lastUpdated: Date;
}