/**
 * Privacy Router types and constants.
 *
 * The backend's privacy router optionally detects and filters PII from chat
 * messages before they reach the LLM. It is configured per-mentor through the
 * existing mentor-settings endpoints (no new endpoints required):
 *
 *   - GET  /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{name}/settings/
 *   - PUT  /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{name}/settings/
 *   - GET  /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{name}/public-settings/
 *
 * These are already wired in `mentorApiSlice`
 * (`useGetMentorSettingsQuery`, `useEditMentorMutation`,
 * `useGetMentorPublicSettingsQuery`) — this file just adds the typed
 * surface for the new fields.
 */
export declare const PRIVACY_ACTIONS: readonly ["redact", "mask", "block"];
export type PrivacyAction = (typeof PRIVACY_ACTIONS)[number];
export declare const PRIVACY_ENTITY_TYPES: readonly ["PERSON", "EMAIL_ADDRESS", "PHONE_NUMBER", "US_SSN", "CREDIT_CARD", "LOCATION", "DATE_TIME", "US_PASSPORT", "US_DRIVER_LICENSE", "IP_ADDRESS", "IBAN_CODE", "MEDICAL_LICENSE", "US_BANK_NUMBER"];
export type PrivacyEntityType = (typeof PRIVACY_ENTITY_TYPES)[number];
/**
 * Entities suggested in the simple/default view of the privacy settings UI.
 * The remaining entities are surfaced under an "Advanced" disclosure.
 */
export declare const SUGGESTED_PRIVACY_ENTITIES: readonly PrivacyEntityType[];
export declare const DEFAULT_PRIVACY_RESPONSE = "Your message contains sensitive personal information and cannot be processed. Please remove any personal data and try again.";
export declare const DEFAULT_PRIVACY_ACTION: PrivacyAction;
export interface MentorPrivacySettings {
    enable_privacy_router: boolean;
    privacy_action: PrivacyAction;
    privacy_entities: PrivacyEntityType[];
    privacy_response: string;
    enable_privacy_output_filter: boolean;
}
export type MentorPrivacySettingsUpdate = Partial<MentorPrivacySettings>;
/** Subset of mentor public-settings that exposes the privacy toggle anonymously. */
export interface MentorPrivacyPublicSettings {
    enable_privacy_router: boolean;
}
/**
 * `kind` value the backend returns on chat WS / SSE messages when a request
 * is rejected by the privacy router (action = "block"). Sits alongside the
 * existing `innappropriate_prompt` moderation/safety kind.
 */
export declare const PRIVACY_BLOCKED_ERROR_KIND: "privacy_blocked";
export declare const PRIVACY_TARGET_SYSTEM: "privacy";
export interface PrivacyBlockedErrorPayload {
    error: string;
    reason?: string;
    appropriate?: boolean;
    kind: typeof PRIVACY_BLOCKED_ERROR_KIND;
    target_system: typeof PRIVACY_TARGET_SYSTEM;
    status_code?: number;
    session_id?: string;
}
/**
 * Type guard for the privacy-block error returned over the chat WS / SSE
 * channel. Use this in chat error handlers to give privacy blocks a distinct
 * visual treatment from moderation/safety blocks.
 */
export declare function isPrivacyBlockedError(payload: unknown): payload is PrivacyBlockedErrorPayload;
