<commit_before>import { EmbedWidget } from "./squatch";
import Widget from "./widgets/Widget";

/**
 * When you load Squatch.js you need to provide these configuration options.
 *
 * @param tenantAlias The Tenant that you're using.
 * @param domain The domain for API. Defaults to `https://app.referralsaasquatch.com`
 * @param debug Enables debug logging. Defaults to `false`.
 */
export interface ConfigOptions {
  tenantAlias: string;
  domain?: string;
  npmCdn?: string;
  debug?: boolean;
}

export interface WidgetConfig {
  user: User; // The user details
  widgetType?: WidgetType; // The content of the widget.
  engagementMedium?: EngagementMedium; // How to display the widget.
  container?: HTMLElement; // Element to load the widget into.
  trigger?: string; // Trigger element's selector for opening the popup widget
  jwt?: JWT; // the JSON Web Token (JWT) that is used
}

export interface CookieWidgetConfig {
  user?: CookieUser;
  widgetType?: WidgetType; // The content of the widget.
  engagementMedium?: EngagementMedium; // How to display the widget.
  jwt?: JWT; // the JSON Web Token (JWT) that is used}
}

/**<commit_msg>Update types.ts<commit_after>import { EmbedWidget } from "./squatch";
import Widget from "./widgets/Widget";

/**
 * When you load Squatch.js you need to provide these configuration options.
 *
 * @param tenantAlias The Tenant that you're using.
 * @param domain The domain for API. Defaults to `https://app.referralsaasquatch.com`
 * @param debug Enables debug logging. Defaults to `false`.
 */
export interface ConfigOptions {
  tenantAlias: string;
  domain?: string;
  npmCdn?: string;
  debug?: boolean;
}

export interface WidgetConfig {
  user: User; // The user details
  widgetType?: WidgetType; // The content of the widget.
  engagementMedium?: EngagementMedium; // How to display the widget.
  container?: HTMLElement | string; // Element to load the widget into.
  trigger?: string; // Trigger element's selector for opening the popup widget
  jwt?: JWT; // the JSON Web Token (JWT) that is used
}

export interface CookieWidgetConfig {
  user?: CookieUser;
  widgetType?: WidgetType; // The content of the widget.
  engagementMedium?: EngagementMedium; // How to display the widget.
  jwt?: JWT; // the JSON Web Token (JWT) that is used}
}

/**
{'fraction_non_alphanumeric': 0.10759219088937093, 'fraction_numerical': 0.0, 'mean_word_length': 3.8343815513626835, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, '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': '563488', 'n_tokens_mistral': 672, 'n_tokens_neox': 659, 'n_words': 268}