/** * Privacy Notice Display Handler * * Manages display of privacy notice on first run and version updates. * Tracks acknowledgment and integrates with consent management. * * Added by Pantheon Security for enterprise compliance support. */ import { PRIVACY_NOTICE, getPrivacyNoticeCompact, getPrivacyNoticeStructured } from "./privacy-notice-text.js"; /** * Privacy notice acknowledgment record */ interface PrivacyNoticeAcknowledgment { version: string; acknowledged_at: string; method: "cli" | "api" | "auto"; } /** * Privacy Notice Manager class */ export declare class PrivacyNoticeManager { private static instance; private acknowledgmentFile; private acknowledgments; private loaded; private constructor(); /** * Get singleton instance */ static getInstance(): PrivacyNoticeManager; /** * Load acknowledgments from storage */ private load; /** * Save acknowledgments to storage */ private save; /** * Check if privacy notice needs to be shown */ needsDisplay(): Promise; /** * Check if this is the first run ever */ isFirstRun(): Promise; /** * Get the CLI-formatted privacy notice */ getCLINotice(): string; /** * Get compact privacy notice (for API responses) */ getCompactNotice(): ReturnType; /** * Get structured privacy notice (full details) */ getStructuredNotice(): ReturnType; /** * Get full privacy notice object */ getFullNotice(): typeof PRIVACY_NOTICE; /** * Record acknowledgment of privacy notice */ acknowledge(method?: "cli" | "api" | "auto"): Promise; /** * Get acknowledgment history */ getAcknowledgmentHistory(): Promise; /** * Get the current privacy notice version */ getCurrentVersion(): string; /** * Check if a specific version has been acknowledged */ hasAcknowledgedVersion(version: string): Promise; /** * Get status summary */ getStatus(): Promise<{ currentVersion: string; needsDisplay: boolean; isFirstRun: boolean; acknowledgedVersions: string[]; lastAcknowledgment?: { version: string; acknowledged_at: string; method: string; }; }>; /** * Display privacy notice in console (for CLI use) */ displayInConsole(): void; /** * Check and prompt for privacy notice if needed * Returns true if acknowledged, false if user declined */ checkAndPrompt(): Promise; /** * Delete all acknowledgment records (for data erasure) */ deleteAllRecords(): Promise; } /** * Get the privacy notice manager instance */ export declare function getPrivacyNoticeManager(): PrivacyNoticeManager; /** * Check if privacy notice needs to be displayed */ export declare function needsPrivacyNotice(): Promise; /** * Acknowledge the privacy notice */ export declare function acknowledgePrivacyNotice(method?: "cli" | "api" | "auto"): Promise; /** * Get the privacy notice for display */ export declare function getPrivacyNotice(): ReturnType; /** * Get CLI-formatted privacy notice */ export declare function getPrivacyNoticeCLIText(): string; export {};