export declare function isTelemetryEnabled(tenantId: string): Promise<boolean>;
interface DailyAggregate {
    tenant_anon_id: string;
    date: string;
    message_count: number;
    language_distribution: Record<string, number>;
    intent_distribution: Record<string, number>;
    tool_usage: Record<string, number>;
    length_distribution: Record<string, number>;
    avg_response_latency_ms: number;
    saudi_context_signal_count: {
        zatca: number;
        gosi: number;
        nitaqat: number;
        salla: number;
        zid: number;
        mada: number;
        prayer: number;
        tadawul: number;
        hijri: number;
    };
    client_version: string;
}
export declare function runTelemetryCycle(tenantId: string): Promise<{
    uploaded: boolean;
    reason?: string;
    aggregate?: DailyAggregate;
}>;
/**
 * Show what was sent (audit). Returns the last 30 telemetry uploads.
 */
export declare function auditTelemetry(tenantId: string): Promise<Array<Record<string, unknown>>>;
/**
 * Issue a purge request to TaseesAI's training pipeline. Removes the
 * tenant's contributions within 30 days (PDPL Article 18).
 */
export declare function purgeTelemetry(tenantId: string): Promise<{
    ok: boolean;
    reason?: string;
}>;
/**
 * Idempotent registration of the daily telemetry cron job. Only fires when
 * consent is 'on' — runTelemetryCycle gates on that.
 */
export declare function ensureTelemetryCronJob(tenantId: string): Promise<void>;
export {};
//# sourceMappingURL=uploader.d.ts.map