<commit_before>interface IVisibility {
  GONE: 'GONE';
  VISIBLE: 'VISIBLE';
}
declare const Visibility: IVisibility;
type VisibilityType = IVisibility[keyof IVisibility];

interface INotifications {
  UNREAD_COUNT: 'UNREAD_CHANGE_NOTIFICATION';
  WINDOW_DID_HIDE: 'WINDOW_DID_HIDE';
}
declare const Notifications: INotifications;

/**
 * sendTokenToIntercom
 * @param token
 */
export function sendTokenToIntercom(token: any): Promise<void>;

/**
 * registerUnidentifiedUser
 * @returns {Promise<void>}
 */
export function registerUnidentifiedUser(): Promise<void>;

/**
 * updateUser
 * @param { email?: string,user_id?: string, name?: string, phone?: string, language_override?: string, signed_up_at?: number, unsubscribed_from_emails?: boolean, companies?: Array<{company_id?: string, name?: string, created_at?: number, monthly_spend?: number, plan?: string, custom_attributes?: { [key: string]: string } }>, custom_attributes?: { [key: string]: string } } attributes
 * @returns {Promise<void>}
 */
export function updateUser(attributes: {
  email?: string;
  user_id?: string;
  name?: string;
  phone?: string;
  language_override?: string;
  signed_up_at?: number;
  unsubscribed_from_emails?: boolean;
  companies?: Array<{
    company_id?: string;
    name?: string;
    created_at?: number;
    monthly_spend?: number;
    plan?: string;
    custom_attributes?: { [key: string]: string };
  }>;
  custom_attributes?: { [key: string]: string };
}): Promise<void>;

/**
 * registerIdentifiedUser
 * @param {userId: string} options
 * @returns {Promise<void>}
 */
export function registerIdentifiedUser(options: { userId: string }): Promise<void>;

/**
 * logout
 * @returns {Promise<void>}
 */
export function logout(): Promise<void>;

/**
 * Log an event
 * @param {string} eventName
 * @param {[key: string]: string} metadata
 */
export function logEvent(eventName: string, metadata: { [key: string]: string }): Promise<void>;
<commit_msg>Update registerIdentifiedUser option typing (#295)<commit_after>interface IVisibility {
  GONE: 'GONE';
  VISIBLE: 'VISIBLE';
}
declare const Visibility: IVisibility;
type VisibilityType = IVisibility[keyof IVisibility];

interface INotifications {
  UNREAD_COUNT: 'UNREAD_CHANGE_NOTIFICATION';
  WINDOW_DID_HIDE: 'WINDOW_DID_HIDE';
}
declare const Notifications: INotifications;

/**
 * sendTokenToIntercom
 * @param token
 */
export function sendTokenToIntercom(token: any): Promise<void>;

/**
 * registerUnidentifiedUser
 * @returns {Promise<void>}
 */
export function registerUnidentifiedUser(): Promise<void>;

/**
 * updateUser
 * @param { email?: string,user_id?: string, name?: string, phone?: string, language_override?: string, signed_up_at?: number, unsubscribed_from_emails?: boolean, companies?: Array<{company_id?: string, name?: string, created_at?: number, monthly_spend?: number, plan?: string, custom_attributes?: { [key: string]: string } }>, custom_attributes?: { [key: string]: string } } attributes
 * @returns {Promise<void>}
 */
export function updateUser(attributes: {
  email?: string;
  user_id?: string;
  name?: string;
  phone?: string;
  language_override?: string;
  signed_up_at?: number;
  unsubscribed_from_emails?: boolean;
  companies?: Array<{
    company_id?: string;
    name?: string;
    created_at?: number;
    monthly_spend?: number;
    plan?: string;
    custom_attributes?: { [key: string]: string };
  }>;
  custom_attributes?: { [key: string]: string };
}): Promise<void>;

/**
 * registerIdentifiedUser
 * @param {userId: string} | {email: string} options
 * @returns {Promise<void>}
 */
export function registerIdentifiedUser(options: { userId: string } | { email: string }): Promise<void>;

/**
 * logout
 * @returns {Promise<void>}
 */
export function logout(): Promise<void>;

/**
 * Log an event
 * @param {string} eventName
 * @param {[key: string]: string} metadata
 */
export function logEvent(eventName: string, metadata: { [key: string]: string }): Promise<void>;

{'fraction_non_alphanumeric': 0.14709580085491578, 'fraction_numerical': 0.0007543374402816193, 'mean_word_length': 5.575206611570248, 'pattern_counts': {'":': 0, '<': 27, '<?xml version=': 0, '>': 27, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4455010', 'n_tokens_mistral': 1229, 'n_tokens_neox': 1226, 'n_words': 316}