/**
 * Telemetry and error tracking via Sentry.
 *
 * Implements opt-out crash reporting with:
 * - First-run notice shown once
 * - `prlt telemetry disable/enable/status` commands
 * - Respects DO_NOT_TRACK=1 and PRLT_TELEMETRY_DISABLED=1 env vars
 * - Consent stored in ~/.proletariat/config.json
 * - Path scrubbing to remove usernames from stack traces
 */
interface TelemetryConfig {
    enabled?: boolean;
    noticeShown?: boolean;
}
/**
 * Read the telemetry section from machine config.
 */
export declare function readTelemetryConfig(): TelemetryConfig;
/**
 * Write telemetry preferences to machine config.
 */
export declare function writeTelemetryConfig(telemetry: TelemetryConfig): void;
/**
 * Check if telemetry is enabled.
 *
 * Disabled when any of:
 * - DO_NOT_TRACK=1 (consoledonottrack.com standard)
 * - PRLT_TELEMETRY_DISABLED=1
 * - User ran `prlt telemetry disable` (config.telemetry === false)
 *
 * Enabled by default (opt-out model).
 */
export declare function isTelemetryEnabled(): boolean;
/**
 * Check if the first-run telemetry notice has been shown.
 */
export declare function hasShownTelemetryNotice(): boolean;
/**
 * Mark the telemetry notice as shown.
 */
export declare function markTelemetryNoticeShown(): void;
/**
 * Show the first-run telemetry notice.
 * Returns true if the notice was shown (first time), false if already shown.
 */
export declare function showTelemetryNotice(): boolean;
/**
 * Get the Sentry DSN. Exposed for testing.
 */
export declare function getSentryDSN(): string;
/**
 * Initialize Sentry error tracking.
 * Should be called as early as possible in the CLI lifecycle.
 *
 * @param cliVersion - The CLI version string from oclif config
 */
export declare function initSentry(cliVersion: string): Promise<void>;
/**
 * Flush pending Sentry events with a timeout.
 * Should be called in the postrun hook.
 */
export declare function flushSentry(): Promise<void>;
export {};
